Angular2 RC4路由器:从路由器获取RouteConfigs“data”属性
问题描述:
使用Angular2的新RC4-Router(3.0.0-beta.2),我有以下路由设置:Angular2 RC4路由器:从路由器获取RouteConfigs“data”属性
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']);
}
}
但是它只是无法获得标题。这是甚至可能的,我应该能够获得这样的路线信息?有人有我的例子吗?
答
您可以订阅data
直接像
class HeroDetailComponent {
ngOnInit() {
this.sub = this.route
.data
.subscribe(v => console.log(v));
}
ngOnDestroy() {
this.sub.unsubscribe();
}
}
+2
这仅适用于布线组件,甚至没有指令。但是我需要获取服务中的当前活动路线数据(也适用于未来的功能)。我们目前正在研究一个复杂的大型SPA,如果能够在一个中心位置描述路线,这将是一件非常好的事情。 –
+0
可能。我没有深入研究新路由器。 –
交叉引用https://github.com/angular/angular/issues/9822 –