1
ティエリー・テンプリィアの別のstackoverflowポストで非常にきちんとした解決策を見つけましたが、角度2 RC5の新しいルーターは期限切れです。以前カスタムの安全な指示で角度2のルーティング
@Directive({
selector: '[secured]'
})
export class SecuredDirective implements OnInit {
@HostBinding('hidden') hideRouterLink: boolean = false;
@Input() routerLink: string;
constructor(private router: Router) {
console.log(router);
}
ngOnInit(): void {
console.log(this.routerLink);
// How to get routeData here??
// Auth logic
this.hideRouterLink = true;
}
}
角度の古いルータ上で、我々はこれを行うことができます:
は、基本的にこれは安全なディレクティブです
RC5と今var instruction = this.router.generate(this.routeParams);
var data = instruction.component.routeData.data;
、私はどのように取得する方法を把握することはできませんルータ命令。 これを行う別の方法はありますか?
編集:詳細 routing.tsの例で定義された経路データつかむことである私は何を達成しようとしています
:
{ path: 'control-panel', component: ControlPanelComponent, data: { 'resources': 'controlpanel', 'privileges': 'admin'} }
すべてのヘルプは大歓迎ですが、ありがとう!あなたが以下試すことができ
どうすればルートデータを取得できますか?あなたのソリューションは私のものに似ています。ルートに定義されたRouteDataを取得する方法が必要です。詳細については質問を更新しました。ありがとう – 12seconds
@ 12seconds、あなたはthis.router.configからデータを取得することがあります。問題は経路が遅延ロードされている場合に見つけられません。また、私は何か解決策を探しています。 –