假设我有两条路线:
{ path: '/path1', component: component1 }
{ path: '/path2', component: component2 }
我在'/ path1'并导航到'/ path2'。
所以我的问题是如何在组件2构造函数或代码中的任何位置获取路由url'/ path1'而不通过任何服务使用resolve或global变量。
Component2.ts
export class Component2{
constructor(router: Router) {
router.events.subscribe((event) => {
// here I want to get route url '/path1' from component1
});
}
}
如果有人需要更多澄清,请告诉我。
答案 0 :(得分:0)
我不确定你想怎么用它。但是,如果你知道应用程序中的可用路径,你可以简单地在component2中使用: this.router.navigate([" / PATH1"]); 您可以使用的基本URL,例如: location.host 所以你的网址是location.host +" / path2" 那是你在找什么?
答案 1 :(得分:0)
存储当前事件,以便下次发生时可以使用它
previousUrl: string;
constructor(router: Router) {
router.events
.filter(event => event instanceof NavigationEnd)
.subscribe(e => {
console.log('prev:', this.previousUrl);
this.previousUrl = e.url;
});
}