- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 Angular2 来延迟加载一些模块。我可以让它工作,但是当我将它与 canActivateChild 一起使用时,它会阻止导航但加载模块,我不知道我是否需要做任何其他事情,但我只想加载模块,如果我是启用访问路由。例如,这是一个管理仪表板,我只想在用户登录时加载 AdminModule。
这是我的主要模块路由:
export const routing = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'login', component: LoginComponent },
{
path: '',
canActivateChild: [AuthGuard],
children: [
{ path: 'home', component: HomeComponent },
{ path: 'adm', loadChildren: './admin/admin.module#AdminModule' },
]
},
{ path: '**', component: NotFoundComponent },
];
这是我的管理路由:
export const adminRouting = [
{ path: '',
children: [
{ path: 'client', component: ClientComponent },
{ path: 'support', component: SupportComponent },
// more routes
]
},
];
正如我所说,导航中的所有内容都按预期工作,但当我未登录时,我想阻止加载 lazyLoad 模块。
最佳答案
根据 the routing guide在 Angular 上我相信你必须使用 canLoad
而不是 canActivate
。
关于Angular 2 loadChildren 不与 canActivateChild 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44590176/
我可能误解了 canActivateChild适用于 Angular 11 的路由。 使用如下所示的路由定义和 canActivateChild返回 false , ParentComponent未构
我试着像 angular doc 那样设置一个 child 看守: @Injectable() export class AuthGuardService implements CanActivate
关于 Route Guards 的 angular2 文档让我不清楚何时适合使用 CanActivate 守卫与 CanActivateChild 守卫结合无组件路由。 TL;DR:当我可以使用带有
我正在尝试使用 Angular2 来延迟加载一些模块。我可以让它工作,但是当我将它与 canActivateChild 一起使用时,它会阻止导航但加载模块,我不知道我是否需要做任何其他事情,但我只想加
因此,我试图通过使用守卫来保护对多条路线的访问。我正在使用以下路线这样做: const adminRoutes : Routes = [ { path: 'admin', comp
我是一名优秀的程序员,十分优秀!