Router
A service that facilitates navigation among views and URL manipulation capabilities. This service is provided in the root scope and configured with provideRouter.
RouteprovideRouterRouting and Navigation GuideOn this page
API
class Router { readonly events: Observable<Event>; readonly routerState: RouterState; navigated: boolean; routeReuseStrategy: RouteReuseStrategy; onSameUrlNavigation: OnSameUrlNavigation; config: Routes; readonly componentInputBindingEnabled: boolean; readonly currentNavigation: Signal<Navigation | null>; initialNavigation(): void; setUpLocationChangeListener(): void; readonly url: string; getCurrentNavigation(): Navigation | null; readonly lastSuccessfulNavigation: Signal<Navigation | null>; resetConfig(config: Routes): void; dispose(): void; createUrlTree(commands: readonly any[], navigationExtras?: UrlCreationOptions): UrlTree; navigateByUrl(url: string | UrlTree, extras?: NavigationBehaviorOptions): Promise<boolean>; navigate(commands: readonly any[], extras?: NavigationExtras): Promise<boolean>; serializeUrl(url: UrlTree): string; parseUrl(url: string): UrlTree; isActive(url: string | UrlTree, exact: boolean): boolean; isActive(url: string | UrlTree, matchOptions: Partial<IsActiveMatchOptions>): boolean; isActive(url: string | UrlTree, matchOptions: boolean | IsActiveMatchOptions): boolean;}
componentInputBindingEnabled
booleanIndicates whether the application has opted in to binding Router data to component inputs.
This option is enabled by the withComponentInputBinding feature of provideRouter or
bindToComponentInputs in the ExtraOptions of RouterModule.forRoot.
setUpLocationChangeListener
voidSets up the location change listener. This listener detects navigations triggered from outside the Router (the browser back/forward buttons, for example) and schedules a corresponding Router navigation so that the correct events, guards, etc. are triggered.
voidresetConfig
voidResets the route configuration used for navigation and generating links.
voidrouter.resetConfig([
{ path: 'team/:id', component: TeamCmp, children: [
{ path: 'simple', component: SimpleCmp },
{ path: 'user/:name', component: UserCmp }
]}
]);
createUrlTree
UrlTreeAppends URL segments to the current URL tree to create a new URL tree.
readonly any[]An array of URL fragments with which to construct the new URL tree.
If the path is static, can be the literal URL string. For a dynamic path, pass an array of path
segments, followed by the parameters for each segment.
The fragments are applied to the current URL tree or the one provided in the relativeTo
property of the options object, if supplied.
// create /team/33/user/11
router.createUrlTree(['/team', 33, 'user', 11]);
// create /team/33;expand=true/user/11
router.createUrlTree(['/team', 33, {expand: true}, 'user', 11]);
// you can collapse static segments like this (this works only with the first passed-in value):
router.createUrlTree(['/team/33/user', userId]);
// If the first segment can contain slashes, and you do not want the router to split it,
// you can do the following:
router.createUrlTree([{segmentPath: '/one/two'}]);
// create /team/33/(user/11//right:chat)
router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: 'chat'}}]);
// remove the right secondary node
router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: null}}]);
// assuming the current url is `/team/33/user/11` and the route points to `user/11`
// navigate to /team/33/user/11/details
router.createUrlTree(['details'], {relativeTo: route});
// navigate to /team/33/user/22
router.createUrlTree(['../22'], {relativeTo: route});
// navigate to /team/44/user/22
router.createUrlTree(['../../team/44/user/22'], {relativeTo: route});
Note that a value of null or undefined for relativeTo indicates that the
tree should be created relative to the root.
Description
A service that facilitates navigation among views and URL manipulation capabilities. This service is provided in the root scope and configured with provideRouter.