Как установить параметры запроса на url Angular2?

У меня есть требование установить URL-адрес с параметрами запроса, такими как /Questions?id=1234&pageid=0. Я попытался сделать это через router.Navigate['/Questions?id=1234&pageid=0'], но не повезло.

После навигации браузер выглядит как /Questions%3Fid%3D1234%26pageid%3D0.

Я также попробовал его с установкой routerLink="/Questions?id=1234&pageid=0", но тот же результат.

Пожалуйста, предложите любое решение для этого. Я использую rc5 для angular2.

Ответ 1

Я нашел одно решение, разделив параметры маршрутизатора и запроса, как показано ниже:

<a [routerLink]="['/Questions']" [queryParams]="{id:1234,page:1}"></a>

Это отлично работает для меня.

Ответ 2

Вы можете передать их как элемент в маршрутизаторе, но вне массива команд:

[routerLink]="["/Questions"], {queryParams: {id:1234, pageid:0}}"

это генерирует то, что вы хотите: /Questions?id=1234&pageid=0

Или вы можете использовать его программно:

this.router.navigate(['/Questions'], { queryParams: {id:1234, pageid:0} })

с маршрутизатором, являющимся экземпляром @angular/router Router

Ответ 4

Вам нужно обновить router.navigate

this.router.navigate(['/Quetions', {id: 1234, pageid: 0}]);