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

Angular 2: "router.navigate" Encoding error in the URL

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

我有以下代码:

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

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

localhost:4200/search%3Fquery%3D1 

(query参数值为1).

有了这个 URL 我无法获取参数。

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

使用选项参数:

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

我遇到过这样的情况,我得到一个包含整个 url 的字符串,包括查询参数。

在这种情况下你可以这样做

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