【发布时间】:2016-12-27 05:49:36
【问题描述】:
我在 Thierry Templier 的另一个 stackoverflow 帖子中找到了一个非常简洁的解决方案,但是对于 Angular 2 RC5 新路由器来说它已经过时了。
基本上这是安全指令:
@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,我不知道如何获取路由器指令。 有没有其他方法可以做到这一点?
编辑:更多信息
我想要实现的是获取routing.ts示例中定义的路由数据:
{ path: 'control-panel', component: ControlPanelComponent, data: { 'resources': 'controlpanel', 'privileges': 'admin'} }
非常感谢任何帮助,谢谢!
【问题讨论】: