如何从我的应用程序中的不同位置获取当前路径和参数?

问题描述 投票:0回答:1

在我正在进行路由的组件中(以及路由器出口所在的组件),我可以像往常一样使用ActivatedRoute,但是我有一个在路由更改之间保持静态的组件,它需要知道当前的路由和路由参数。在Angular docs here中,它说:

您可以使用Router服务和routerState属性从应用程序中的任何位置访问当前的RouterState。

但我不确定该页面是如何解释的。它没有在任何地方提到routerState属性。

angular angular2-routing
1个回答
1
投票

假设您将ActivatedRoute注入静态组件:

constructor(private route: ActivatedRoute) {}

然后你可以通过订阅Observable中的两个相应的ActivatedRoute来听路线参数或查询参数变化。通过这种方式,静态组件将始终使用最新的路由参数进行更新。

ngOnInit() {
  this.route.params.subscribe(params => {console.log(params);});
  this.route.queryParams.subscribe(qParams => {console.log(qParams);});
}
© www.soinside.com 2019 - 2024. All rights reserved.