gpt4 book ai didi

javascript - Location.go 之后 Angular 6 路由参数重新加载

转载 作者:行者123 更新时间:2023-12-01 01:43:13 27 4
gpt4 key购买 nike

为了避免任何组件重新加载,我使用 Location.go 更改第一个组件 (SearchboxComponent) 的 URL。

问题是,我在第二个组件 (ListingComponent) 中使用路由参数来反射(reflect)某些链接、分页等中的 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

最佳答案

如果您想更新当前的路线参数。

假设您的路线为:

path/:id

当前路径:path/123

在组件中:

import { Location } from '@angular/common';

constructor(private location: Location) { }
updateRoute(){
let url = this.location.path().replace('123', '456');
this.location.go(url);
}

更新路径:path/456

关于javascript - Location.go 之后 Angular 6 路由参数重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52216783/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com