Spec-Zone.ru › Angular

CanMatchFn

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

МаршрутCanMatch

API

type CanMatchFn = (
  route: Route,
  segments: UrlSegment[],
  currentSnapshot: PartialMatchRouteSnapshot,
) => MaybeAsync<GuardResult>

Описание

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

Если все защитные механизмы возвращают true, навигация продолжается, а Router использует Route при активации. Если хотя бы один защитный механизм возвращает false, Route пропускается при сопоставлении, а вместо него обрабатываются другие конфигурации Route.

В следующем примере реализуется и используется CanMatchFn, проверяющий, есть ли у текущего пользователя разрешение на доступ к странице команды.

const canMatchTeam: CanMatchFn = (
  route: Route,
  segments: UrlSegment[],
  currentSnapshot: PartialMatchRouteSnapshot,
) => {
  return inject(PermissionsService).canMatch(inject(UserToken));
};

bootstrapApplication(App, {
  providers: [
    provideRouter([
      {
        path: 'team/:id',
        component: TeamComponent,
        canMatch: [canMatchTeam],
      },
    ]),
  ],
});

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/CanMatchFn

Spec-Zone.ru

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