0
如何在子路由器上的每個URL更改上觸發一些事件? 我可以實現引發根路由器中的URL更改事件,如下面的代碼,但我不能在子路由器。路由器在子路由器中訂閱
我使用的是路由器棄用和Angular2測試版,而不是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
語法和裝飾在上面。)
爲什麼你不能在孩子一樣?你有錯誤嗎? –
通過使用'router.location()'並根據URL更改執行操作。 –
請注意! – micronyks