如何从网址中删除特定的参数?

时间:2017-10-02 08:15:33

标签: angular

我有这条路线:

www.test.com/evidention?procesId=12&esid=12

我想只删除这个esid。任何建议我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

在要删除的组件或服务中,您可以执行以下操作:

export class ComponentOrService
{
    constructor(
      protected readonly route: ActivatedRouteSnapshot,
      protected readonly router: Router
    ) { }

    correctCurrentRoute()
    {
        const params = { ...this.route.queryParams };
        delete params.esid;
        this.router.navigate([], { queryParams: params });
    }
}

PS:[]此处意味着保持相同的路线,只会更改queryParams

答案 1 :(得分:1)

在Angle 7+中,“没有提供激活的路线快照的提供程序”出现了错误

可以从ActivatedRoute使用

在构造函数中使用

    private _ActivatedRoute: ActivatedRoute

与此相关,您可以更改网址参数

    var snapshot = this._ActivatedRoute.snapshot;
    const params = { ...snapshot.queryParams };
    delete params.esid
    this.router.navigate([], { queryParams: params });