RouteProps
Unifies the properties of both parent and child routes, ensuring type safety and consistency across route configurations.
ParentRouteProps
Represents properties common to parent routes in a route configuration, including hooks, path, and optional query parameters.
name
Name for route, used to create route keys and in navigation. Read more about route naming.
name: string | undefined;
path
Path part of URL. If value is provided as string
, assumes any params will be string
. See Path.
path: : string | Path;
query
Query (aka search) part of URL. If value is provided as string
, assumes any params will be string
. See Query.
query: string | Query | undefined;
disabled
Disabled routes will not ever match but can still provide physical structure, nested children behave normally.
disabled: boolean | undefined;
children
Children routes, expected type comes from createRoutes(). Read more about nesting routes.
children: Routes;
component
Vue component, which can be either synchronous or asynchronous components.
component: Component | undefined;
meta
Represents additional metadata associated with a route, customizable via declaration merging. Read more about route meta.
meta: RouteMeta | undefined;
ChildRouteProps
Represents properties for child routes, has same properties as ParentRouteProps except name
and component
are no longer optional. Routes must provide either children
, or satisfy ChildRouteProps
.
type ChildRouteProps = WithHooks & {
name: string,
disabled?: boolean,
path: string | Path,
query?: string | Query,
component: Component,
meta?: RouteMeta,
}
WithHooks
Defines route hooks that can be applied before entering, updating, or leaving a route, as well as after these events.
type WithHooks = {
onBeforeRouteEnter?: MaybeArray<BeforeRouteHook>,
onBeforeRouteUpdate?: MaybeArray<BeforeRouteHook>,
onBeforeRouteLeave?: MaybeArray<BeforeRouteHook>,
onAfterRouteEnter?: MaybeArray<AfterRouteHook>,
onAfterRouteUpdate?: MaybeArray<AfterRouteHook>,
onAfterRouteLeave?: MaybeArray<AfterRouteHook>,
}