我有一个页面:/news
,查询参数为page
。
我已订阅查询参数:
ngOnInit() {
this.route.queryParams.subscribe(params => {
...
});
}
如果我打开/news
并导航到/news?page=1
,则订阅工作正常。
但是,如果我打开/news
并导航至/another-page
,然后再次导航至/news
并导航至/news?page=1
,则订阅不再起作用。为什么会发生?我使用Angular 6。
答案 0 :(得分:0)
您可以使用preserveQueryParams
或queryParamsHandling
。如果您转到其他路线,这会将查询保留在URL中。因此,如果您有/news?page=1
并转到另一条路线,则查询将保持another-page?page=1
。
这将导致查询在您应用此位置的地方保持可见,并且当返回新闻路径时可以重新使用它。
来源:https://angular.io/api/router/NavigationExtras#queryParamsHandling