type-alias
The signature of a function used as a canMatch
guard on a Route
.
type CanMatchFn = (route: Route, segments: UrlSegment[]) => Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree;
If all guards return true
, navigation continues and the Router
will use the Route
during activation. If any guard returns false
, the Route
is skipped for matching and other Route
configurations are processed instead.
The following example implements and uses a CanMatchFn
that checks whether the current user has permission to access the team page.
const canMatchTeam: CanMatchFn = (route: Route, segments: UrlSegment[]) => { return inject(PermissionsService).canMatch(inject(UserToken)); }; bootstrapApplication(App, { providers: [provideRouter([ { path: 'team/:id', component: TeamComponent, canMatch: [canMatchTeam], }, ])] });
© 2010–2023 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://angular.io/api/router/CanMatchFn