CanActivateChildFn
Сигнатура функции, используемой в качестве защитника canActivateChild для Route.
API
type CanActivateChildFn = ( childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot, ) => MaybeAsync<GuardResult>
Описание
Сигнатура функции, используемой в качестве защитника canActivateChild для Route.
Если все защитники возвращают true, навигация продолжается. Если хотя бы один защитник возвращает false, навигация отменяется. Если хотя бы один защитник возвращает UrlTree, текущая навигация отменяется и начинается новая навигация к UrlTree, возвращённому защитником.
В следующем примере реализована функция canActivate, которая проверяет, есть ли у текущего пользователя разрешение на активацию запрошенного маршрута.
const canActivateChildExample: CanActivateChildFn = (
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot,
) => {
return inject(PermissionsService).canActivate(inject(UserToken), route.params['id']);
};
bootstrapApplication(App, {
providers: [
provideRouter([
{
path: 'team/:id',
component: TeamComponent,
canActivateChild: [canActivateChildExample],
children: [],
},
]),
],
});
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/router/CanActivateChildFn