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

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

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

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

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

解决方法

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

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

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...