2017-09-23 26 views
2

私のモジュールを遅延ロードしたいが、同時にcanActivateを使用して保護したい。私が試した:私はRouterModule.forChildを使用して、ベンダーrouting.moduleにおけるベンダーのルートを定義しているように私には子供たちを使用していなかったCanActivateとloadChildrenを同じルートに追加する方法

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

注意を。

しかし、動作しません。どんな勧告?

+0

{ path: 'dashboard/vendor', canLoad: [AuthGuard], loadChildren: 'app/module/dashboard/vendor/vendor.module#VendorModule' } 
これを使用してみてください: '{パス: 'ダッシュボード/ベンダー'、canActivate:[AuthGuard]、loadChildren: 'アプリケーション/モジュール/ダッシュボード/ベンダー/ vendor.module#VendorModule'}' – Mihailo

+0

おかげ。これも動作しますが、canLoadがより適切な答えだと思います。 – czetsuya

答えて

5

canActivateではなくcanLoadを使用する必要があります。条件が満たされない場合、LazyModuleはロードされません。

関連する問題