我正在使用Angular 2的路由器来更新搜索应用程序中URL的查询参数。我试图用+号替换查询中的空格,但是+号被编码了。例如:
this.router.navigatebyUrl('?q=one+two');
使用"?q=one%2Btwo"填充URL。
查看Angular 2的源代码,发现路由器将URL转换为UrlTree ,并使用encodeURIComponent()对URL进行编码。因此,无法防止默认的编码。
我的当前流程是通过执行navigateByUrl更改路由,并使用以下方法监听更改:
this.routeSubscription = this.route.queryParams.subscribe((params: any) => {
this.term = (params.q ? params.q : '');
});
是否有一种替代方法来处理查询参数,可以允许我使用自己的 URL 编码策略?