Comment puis-je ajouter des paramètres de requête à routerLink
?
@RouteConfig {
{path: '/search', name: 'Search', component: SearchCmp}
}
Disons que je veux router vers /search?q=asdf
,
<a [routerLink]= " [ '/Search' , {q= 'asdf'}] ">Link 1</a>
cela résout en /search
.
Est-il possible d'ajouter des paramètres de requête sans utiliser:
this.router.navigate( ['Search', { q: 'asdf'}]);
ou
<a href="/search?a=asdf"> Link 2 </a>
?
Si tu as besoin de quelque chose comme /search?q=asdf
que vous pouvez simplement utiliser:
@RouteConfig {
{path: '/search', name: 'Search', component: SearchCmp}
}
//And to generate router Links use:
<a [routerLink]="['/Search']" [queryParams]="{q:'asdf'}"></a>
Ceci générera la balise href sous la forme <a href="/search"
mais en cliquant sur la balise d'ancrage, vous accédez à l'URL /search?q=asdf
. [queryParams] vous permettra d'ajouter les paramètres de requête avec "?", sinon ils seront ajoutés par ";". Vous pouvez obtenir ce paramètre dans votre SearchCmp
en utilisant:
constructor(private _routeParams: RouteParams) {
var queryParam = this._routeParams.get('q');
}
OP (Affiche originale) a demandé comment ajouter paramètres de requête via un lien de routeur, pas un paramètres de routeur comme @SaUrAbH MaUrYa a répondu.
Pour ajouter des paramètres de requête, vous devez utiliser [queryParams]
contraignant:
<a [routerLink]="['/users']" [queryParams]="{ page: 1 }">next page</a>