Я нашел очень аккуратное решение на другом stackoverflow сообщение от Thierry Templier, однако оно устарело для нового маршрутизатора с угловым 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;
}
}
Ранее на старом маршрутизаторе ANGULAR в мы могли бы сделать это:
var instruction = this.router.generate(this.routeParams);
var data = instruction.component.routeData.data;
Теперь с RC5, я не могу понять способ, как получить инструкция маршрутизатора. Есть ли другой способ сделать это?
Edit: подробнее
То, что я пытаюсь добиться, чтобы захватить данные маршрута, определенные в примере routing.ts:
{ path: 'control-panel', component: ControlPanelComponent, data: { 'resources': 'controlpanel', 'privileges': 'admin'} }
Любая помощь очень ценится, спасибо!
Как я могу получить RouteData? Ваше решение похоже на мое. Мне нужен способ получить RouteData, определенную в маршрутах, я обновил свой вопрос для получения дополнительной информации. Спасибо – 12seconds
@ 12 секунд, вы можете получить данные из this.router.config, проблема в том, что маршрут лениво загружен, вы его не найдете, я также ищу какое-то решение для этого, если я нахожу, что что-то обновит ответ. –