使用Angular2的新RC4-Router(3.0.0-beta.2),我有以下路由设置:
export const Routes: RouterConfig = [ { path: 'account',pathMatch: 'prefix',canActivate: [ AppAuthGuard ],children: [ { path: 'create',component: AccountRegistration,data: { 'title': 'Create an Account' } },{ path: 'login',component: AccountLogin,data: { 'title': 'Log into your Account' } } ] } ];
可以打开路线.但我有一个全局服务,应该从路径“data”-property的“title”属性设置AppComponent中的标题.所以我订阅了router.events-Observable:
this.router.events.subscribe(value => { if (value instanceof NavigationEnd) { console.log(this.router.routerState.snapshot.root.data['title']); } }
但是获得冠军是不可能的.这是否可能,我应该能够获得这样的路线信息?有人给我一个例子吗?
解决方法
您可以直接订阅数据
class HeroDetailComponent { ngOnInit() { this.sub = this.route .data .subscribe(v => console.log(v)); } ngOnDestroy() { this.sub.unsubscribe(); } }