Je dois définir une URL avec des paramètres de requête tels que /Questions?id=1234&pageid=0
. J'ai essayé de le faire via router.Navigate['/Questions?id=1234&pageid=0']
mais pas de chance.
Après que le navigateur de navigation s'affiche comme /Questions%3Fid%3D1234%26pageid%3D0
.
Je l'ai également essayé avec le réglage routerLink="/Questions?id=1234&pageid=0"
, mais même résultat.
Veuillez suggérer une solution pour le faire. J'utilise rc5 pour angular2.
J'ai trouvé une solution en séparant le routeur-lien et les paramètres de requête, comme ci-dessous:
<a [routerLink]="['/Questions']" [queryParams]="{id:1234,page:1}"></a>
Cela fonctionne bien pour moi.
Vous pouvez les passer comme élément dans le routeur, mais en dehors du tableau de commandes:
[routerLink]="["/Questions"], {queryParams: {id:1234, pageid:0}}"
cela génère ce que vous voulez: /Questions?id=1234&pageid=0
Ou vous pouvez l'utiliser par programmation:
this.router.navigate(['/Questions'], { queryParams: {id:1234, pageid:0} })
avec le routeur étant une instance de @angular/router
Router
Vous pouvez les passer en tant qu'éléments dans le tableau de commandes du routeur:
[routerLink]="['/Questions'] [queryParams]="{id:1234, pageid:0}} ]"
Voir aussi https://angular.io/docs/ts/latest/guide/router.html#!#query-parameters
Vous devez mettre à jour votre router.navigate
this.router.navigate(['/Questions', {id: 1234, pageid: 0}]);