canActivateChild вызывается несколько раз - PullRequest
0 голосов
/ 15 мая 2018

В моем проекте angular 5 я "защищаю" некоторые представления, основываясь на роли зарегистрированного пользователя, поэтому в моем модуле маршрутизации у меня есть:

    path: '',
    component: AdminLayoutComponent,
    canActivate: [AuthGuard],
    canActivateChild: [RoleGuard],
    children: [
      {
        path: '',
        loadChildren: './dashboard/dashboard.module#DashboardModule',
        data: { roles: ['role.all'] }
      },
      {
        path: 'checkPoints',
        loadChildren: './check-points/check-point-list/check-point-list.module#CheckpointListModule',
        data: { roles: ['role.admin', 'role.tech', 'role.backoffice'] }
      }...

Проверка AuthGuard, аутентифицирован ли пользователь, а затем проверка RoleGuardесли зарегистрированный пользователь имеет роль, чтобы увидеть страницу.Но я вижу метод canActivateChild, вызываемый несколько раз, когда я пытаюсь перейти на дочерние маршруты (2-3 раза)

Это правильное поведение?

1 Ответ

0 голосов
/ 15 мая 2018
{
        path: "",
        component: AdminLayoutComponent,
        canActivate: [AuthGuard],
        children: [
            {
                path: "",
                canActivate: [RoleGuard],
                children: [
                    {
                      path: '',
                      loadChildren: './dashboard/dashboard.module#DashboardModule',
                      data: { roles: ['role.all'] }
      },...

Я думаю, что этот путь предотвратит 2-3 раза.

...