在我正在进行路由的组件中(以及路由器出口所在的组件),我可以像往常一样使用ActivatedRoute,但是我有一个在路由更改之间保持静态的组件,它需要知道当前的路由和路由参数。在Angular docs here中,它说:
您可以使用Router服务和routerState属性从应用程序中的任何位置访问当前的RouterState。
但我不确定该页面是如何解释的。它没有在任何地方提到routerState属性。
假设您将ActivatedRoute
注入静态组件:
constructor(private route: ActivatedRoute) {}
然后你可以通过订阅Observable
中的两个相应的ActivatedRoute
来听路线参数或查询参数变化。通过这种方式,静态组件将始终使用最新的路由参数进行更新。
ngOnInit() {
this.route.params.subscribe(params => {console.log(params);});
this.route.queryParams.subscribe(qParams => {console.log(qParams);});
}