簡體   English   中英

canActivateChild被多次調用

[英]canActivateChild is called multiple times

在我的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次)

這是正確的行為嗎?

{
        path: "",
        component: AdminLayoutComponent,
        canActivate: [AuthGuard],
        children: [
            {
                path: "",
                canActivate: [RoleGuard],
                children: [
                    {
                      path: '',
                      loadChildren: './dashboard/dashboard.module#DashboardModule',
                      data: { roles: ['role.all'] }
      },...

我認為這種方式可以防止2-3次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM