我有不同的路线(与孩子一样嵌套),当导航到它们时,应该更改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,我如何读取父组件(或任何其他更集中的组件/服务)中的数据?