如何在同一路由中添加 CanActivate 和 loadChildren
How to add CanActivate and loadChildren in the same route
我想延迟加载我的模块,但同时使用 canActivate 保护它。我试过了:
{ path: 'dashboard/vendor', canActivate: AuthGuard, loadChildren: 'app/module/dashboard/vendor/vendor.module#VendorModule' }
请注意,我没有使用子节点,因为我在 vendor-routing.module 中使用 RouterModule.forChild 定义了供应商路由。
但是没用。有什么建议吗?
您应该使用 canLoad 而不是 canActivate,因此如果不满足条件,它将不会加载您的 LazyModule。
{ path: 'dashboard/vendor', canLoad: [AuthGuard], loadChildren: 'app/module/dashboard/vendor/vendor.module#VendorModule' }
我想延迟加载我的模块,但同时使用 canActivate 保护它。我试过了:
{ path: 'dashboard/vendor', canActivate: AuthGuard, loadChildren: 'app/module/dashboard/vendor/vendor.module#VendorModule' }
请注意,我没有使用子节点,因为我在 vendor-routing.module 中使用 RouterModule.forChild 定义了供应商路由。
但是没用。有什么建议吗?
您应该使用 canLoad 而不是 canActivate,因此如果不满足条件,它将不会加载您的 LazyModule。
{ path: 'dashboard/vendor', canLoad: [AuthGuard], loadChildren: 'app/module/dashboard/vendor/vendor.module#VendorModule' }