问题
I have a requirement to set a url with query parameters like /Questions?id=1234&pageid=0
. I have tried to do it via router.Navigate['/Questions?id=1234&pageid=0']
but no luck.
After navigation browser shows like /Questions%3Fid%3D1234%26pageid%3D0
.
I have also tried it with setting routerLink="/Questions?id=1234&pageid=0"
, but same result.
Please suggest any solution to do it.I am using rc5 for angular2.
回答1:
You can pass them as item in the router, but outside the commands array:
[routerLink]="["/Questions"], {queryParams: {id:1234, pageid:0}}"
this generates what you want: /Questions?id=1234&pageid=0
Or you can use it programmaticaly:
this.router.navigate(['/Questions'], { queryParams: {id:1234, pageid:0} })
with router being an instance of @angular/router
's Router
回答2:
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.
回答3:
You can pass them as items in the router commands array:
[routerLink]="['/Questions'] [queryParams]="{id:1234, pageid:0}} ]"
See also https://angular.io/docs/ts/latest/guide/router.html#!#query-parameters
回答4:
You need to update your router.navigate
this.router.navigate(['/Questions', {id: 1234, pageid: 0}]);
来源:https://stackoverflow.com/questions/39245848/how-to-set-query-parameters-to-url-angular2