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

问题描述 投票:4回答:1

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

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

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

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

angular angular2-routing angular-routing
1个回答
6
投票

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

{ path: 'dashboard/vendor', canLoad: [AuthGuard], loadChildren: 'app/module/dashboard/vendor/vendor.module#VendorModule' }
© www.soinside.com 2019 - 2024. All rights reserved.