我有一些要点。在此组件中,我可以获取url参数,如下所示:
const campaignIdParam: number = +this.route.snapshot.paramMap.get('campaignId');
告诉我如何在浏览器的地址栏中以编程方式替换此campaignId
而不重新加载页面吗?
更新: 我的网址是这样的:
答案 0 :(得分:1)
您可以使用:
this.location.replaceState(
path, query, state
);
来自Angular文档:
/**
* Changes the browsers URL to the normalized version of the given URL, and replaces
* the top item on the platform's history stack.
*/
replaceState(path: string, query?: string, state?: any): void;
更新:
更具体地说,您可以使用以下代码:
this.location.replaceState(
this.router.createUrlTree(
[tempUri],
{queryParams: queryParamsObj}
).toString()
);
此代码的构造函数的一部分
constructor(private location: Location,
private router: Router) {
}