Jes*_*sen 8 angular2-routing angular
如何检测子组件的路由更改?这是我尝试过的,但我只看到app组件跟踪路由更改.我希望能够检测到url在MetaDetailView组件中从#/ meta/a/b/c变为#/ meta/a/b/c/d的时间.
@RouteConfig([
{ path: '/', name: 'Home', redirectTo: ['Meta']},
{ path: '/meta/...', name: 'Meta', component: MetaMainComponent, useAsDefault: true},
...other routes...,
])
export class AppComponent {
constructor(private _router: Router) {
_router.subscribe( (url) => console.log("app.url = " + url));
}
}
@RouteConfig([
{ path: '/*other', name: 'Detail', component: MetaDetailViewComponent, useAsDefault: true},
])
export class MetaMainComponent {
constructor(private _router: Router) {
_router.subscribe( (url) => console.log("metamain.url = " + url));
console.log("MetaMainComponent")
}
}
export class MetaDetailViewComponent {
constructor(private _router: Router) {
_router.subscribe( (url) => console.log("metadetail.url = " + url));
console.log("MetaDetailViewComponent")
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢杰斯珀
小智 9
RC3 +解决方案:
constructor(private router: Router) {
this.router.events.subscribe(event => {
if (event.constructor.name === 'NavigationStart') {
console.log(event.url);
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8578 次 |
| 最近记录: |