Spec-Zone.ru › Angular

CanActivateChildFn

Сигнатура функции, используемой в качестве защитника canActivateChild для Route.

МаршрутCanActivateChild

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API