如何将查询参数设置为url Angular2?

时间:2016-08-31 09:32:30

标签: angular query-parameters

我要求使用/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

4 个答案:

答案 0 :(得分:22)

您可以将它们作为项目传递到路由器中,但在命令数组之外:

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

这会生成您想要的内容:/Questions?id=1234&pageid=0

或者您可以使用programmaticaly:

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

路由器是@angular/router的{​​{1}}

的实例

答案 1 :(得分:14)

I found one solution by giving router-link and query-parameters separate, like below:

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

This is working fine for me.

答案 2 :(得分:6)

您可以将它们作为路径命令数组中的项目传递:

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

另见https://angular.io/docs/ts/latest/guide/router.html#!#query-parameters

答案 3 :(得分:2)

您需要更新router.navigate

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