首先。网址为http://localhost/kr/shops/search?term=bar
我使用此代码添加了参数
this.router.navigate(['/shops/search'], { queryParams: { brand : someValue }, queryParamsHandling: 'merge'});
执行代码后,URL的结果为http://localhost/kr/shops/search?term=bar&brand=kind
我想像这样无限地添加queryParam。
http://localhost/kr/shops/search?term=bar&brand=kind
http://localhost/kr/shops/search?term=bar&brand=kind&brand=quest
http://localhost/kr/shops/search?term=bar&brand=kind&brand=quest&brand=larlar
但是url的结果总是像这样
http://localhost/kr/shops/search?term=bar&brand=kind
http://localhost/kr/shops/search?term=bar&brand=quest
http://localhost/kr/shops/search?term=bar&brand=larlar
如何无限添加queryParam?
答案 0 :(得分:0)
也许您需要像这样添加查询参数(使用 URLSearchParams )-
let params = new URLSearchParams();
params.append('brand', 1);
params.append('brand', 'value2');
请参阅。来自https://github.com/angular/angular/issues/11662
备用-您可以配置字符串并添加为查询参数,如下所示-
this.router.navigateByUrl('/?brand=name&brand=bjk')
PS:我不知道这是实现还是不行的有效方法,但是可行。
答案 1 :(得分:0)
如果您使用以下新值设置brand
属性:
queryParams: { brand : 'kind' }
queryParams: { brand : 'quest' }
queryParams: { brand : 'larlar' }
尝试一下:
queryParams: { brand : ['kind'] }
queryParams: { brand : ['kind', 'quest'] }
queryParams: { brand : ['kind', 'quest', 'larlar'] }