Angular 2:“router.navigate”URL中的编码错误

时间:2017-04-16 16:25:47

标签: angular angular2-routing

当我提交表单时,我想导航到另一个站点并将URL中的搜索值设置为参数。

我有以下代码:

searchOffers() {
    this.router.navigate([
      '/search?query= +
        this.search.value.FG
    ]);
  }

此代码工作,但路由后URL看起来像这样。

localhost:4200/search%3Fquery%3D1 

query参数值为1)。

使用此网址我无法获取参数。

如何将网址格式化为:localhost:4200/search?query=1

2 个答案:

答案 0 :(得分:4)

使用options参数:

searchOffers() {
    this.router.navigate(['/search'], { queryParams: { query: this.search.value.FG } });
  }

答案 1 :(得分:0)

我遇到的情况是,我得到一个包含整个URL的字符串,包括查询参数。

在这种情况下,您可以这样做

    searchOffers() {
    this.router.navigateByUrl('/search?query= +
        this.search.value.FG);
    }