Как объединить или добавить queryParams, даже если имя queryParams одинаково - PullRequest
0 голосов
/ 26 декабря 2018

Сначала.URL-адрес 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 бесконечно?

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Если вы установите brand свойство с новым значением, как это:

queryParams: { brand : 'kind' }
queryParams: { brand : 'quest' }
queryParams: { brand : 'larlar' }

Попробуйте это:

queryParams: { brand : ['kind'] }
queryParams: { brand : ['kind', 'quest'] }
queryParams: { brand : ['kind', 'quest', 'larlar'] }
0 голосов
/ 26 декабря 2018

Может быть, вам нужно добавить параметры запроса (используя 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: Iне знаю, является ли это верным способом достижения или нет, но работает.

...