【发布时间】:2019-02-12 11:13:21
【问题描述】:
为了避免重新加载任何组件,我使用 Location.go 更改我的第一个组件 (SearchboxComponent) 的 URL。
问题是我在第二个组件 (ListingComponent) 中使用路由参数来反映某些链接、分页等中的 URL 更改。但是我的订阅未检测到新 URL并且参数不会改变。我可以让路由器模块重新解析 URL 以填充新参数吗?
列表组件
this.route.params.subscribe( async (params: IListingUrlParams) => {
console.log('params', params);
});
搜索框组件
const url = this.parametersService.searchParamsToUrl(params);
// this.router.navigate([url]); This works but reloads my main component
this.listingsService.getList(params); // Fetch the new data before navigation
Location.go(url); // This works but params are not reloaded
【问题讨论】:
标签: javascript angular typescript angular6