如何监听路由状态更改并读取数据属性

时间:2016-09-02 12:27:36

标签: angular

我有不同的路线(与孩子一样嵌套),当导航到它们时,应该更改document.title和显示标题的导航标题。

据我所知,我可以通过Angular2中的TitleService设置document.title。

最好的办法是,我可以从路由器数据属性中获取标题,也可以从附加组件中获取标题。

我试图收听订阅router.events但事件并没有向我提供所需的信息。

示例代码:

 {path: '', redirectTo: '/dashboard', pathMatch: 'full'},
  {
    path: '',
    component: IndexComponent
    children: [
      { path: 'componentA', component: ComponentA, data: { title: 'ComponentA'} },
      { path: 'componentB', component: ComponentB },
      { path: 'componentC', loadChildren: '../cc.module#CModule'}
    ]
  },
  { path: 'login', component: LoginComponent }

我在这里添加了一个plunker: http://plnkr.co/edit/V35Njf49TY40Y8f1ChxR?p=preview

此plunker显示1)父路由/组件和2)子路由/组件有不同的数据集。

如果不在每个子组件中实现activeRoute,我如何读取父组件(或任何其他更集中的组件/服务)中的数据?

0 个答案:

没有答案