如何在子路由器中的每个URL更改上触发一些事件? 我可以实现在根路由器中的URL更改上触发事件,如下面的代码,但我不能在子路由器中。
我使用路由器弃用和Angular2 beta,而不是RC。
// myapp.component.ts
@RouteConfig([
{
useAsDefault: true,
name: 'Main',
path: '/...',
component: MainComponent,
},
])
export class MyAppComponent {
constructor(private _router: Router) {
_router.subscribe((url: string): void => {
// Fire on every URL change
// e.g. URL "/" to "/sub1", "/sub1" to "/sub2"
});
}
}
// main.component.ts
// URL: /
@RouteConfig([
{
useAsDefault: true,
name: 'Sub1',
path: '/sub1',
component: Sub1Component,
},
{
name: 'Sub2',
path: '/sub2',
component: Sub2Component,
},
])
export class MainComponent {
constructor(private _router: Router) {
_router.subscribe((url: string): void => {
// Does not fire...
});
}
}
// sub1.component.ts
// URL: /sub1
export class Sub1Component {}
// sub2.component.ts
// URL: /sub2
export class Sub2Component {}
(当然,我在上面省略了import
语法和装饰器。)
答案 0 :(得分:0)
我可以期待使用_router.parent.subscribe
!
谢谢@yuzuri。