如何在不刷新angular8页面的情况下更改url的值

时间:2020-01-08 11:08:15

标签: angular angular-router

我已经使用window.open在新标签页中打开页面,在新标签页的主屏幕上,我有一个用于编辑和查看的选项,因此,如果我单击url中的view,我会传递1,并在单击编辑时我传递了2,所以我传递了总共2个代码的3个值。 现在,当我单击主页上的“查看”按钮时,我将获得如下网址:

http://localhost:4200/data?dt=1211-1211-1

因此,在视图中,我有一个“编辑”按钮,该按钮可启用所有字段的编辑,所以在这里,我希望我的网址为

http://localhost:4200/data?dt=1211-1211-2,

因此它将处于编辑模式。 我已经使用激活的路由器从主页的URL到新选项卡的值

 let url = this.route.snapshot.queryParams.dt.split("-");
    this.gp= url[0];
    this.ap = url[1];
    this.mode = url[2];

1 个答案:

答案 0 :(得分:1)

您可以使用新的查询参数导航到当前路线,这不会重新加载页面,但会更新查询参数

editMode(){
const queryParams = this.gp.toString() + this.ap.toString() + '2';    
this.router.navigate(
        [], 
        {
          relativeTo: this.route,
          queryParams: queryParams,
          queryParamsHandling: 'merge'
        });
}