如何在同一路径中添加CanActivate和loadChildren

时间:2017-09-23 14:10:45

标签: angular angular2-routing angular-routing

我想延迟加载我的模块,但同时使用canActivate保护它。我试过了:

{ path: 'dashboard/vendor', canActivate: AuthGuard, loadChildren: 'app/module/dashboard/vendor/vendor.module#VendorModule' }

请注意,我没有使用子项,因为我使用RouterModule.forChild在vendor-routing.module中定义了供应商路由。

但它不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:6)

你应该使用canLoad而不是canActivate,所以如果不满足条件,它将不会加载你的LazyModule。

{ path: 'dashboard/vendor', canLoad: [AuthGuard], loadChildren: 'app/module/dashboard/vendor/vendor.module#VendorModule' }