Voglio passare un parametro di query prop=xxx
.
Questo non ha funzionato
<a [routerLink]="['/somepath', {queryParams: {prop: 'xxx'}}]>Somewhere</a>
Voglio passare un parametro di query prop=xxx
.
Questo non ha funzionato
<a [routerLink]="['/somepath', {queryParams: {prop: 'xxx'}}]>Somewhere</a>
Risposte:
queryParams
queryParams
è un altro input di routerLink
dove possono essere passati come
<a [routerLink]="['../']" [queryParams]="{prop: 'xxx'}">Somewhere</a>
fragment
<a [routerLink]="['../']" [queryParams]="{prop: 'xxx'}" [fragment]="yyy">Somewhere</a>
routerLinkActiveOptions
Per ottenere le rotte attive impostate su rotte padre:
[routerLinkActiveOptions]="{ exact: false }"
Per passare i parametri di query da this.router.navigate(...)
utilizzare
let navigationExtras: NavigationExtras = {
queryParams: { 'session_id': sessionId },
fragment: 'anchor'
};
// Navigate to the login page with extras
this.router.navigate(['/login'], navigationExtras);
Vedi anche https://angular.io/guide/router#query-parameters-and-fragments
[ '/resetPassword' ], { queryParams: { username: loginName }})
il punto ]
prima degli extra. Inoltre, non dimenticare che i parametri della query fanno distinzione tra maiuscole e minuscole.
runGuardsAndResolvers: 'always'
ricaricherai il percorso medium.com/engineering-on-the-incline/…
<a [routerLink]="['/somepath', { foo: 'foo' }]">Somewhere</a>
, questo ti dà una matrice parametri url (punto e virgola; invece di? E & separatori) e puoi accedervi da ActivatedRoute.params invece ActivatedRoute.queryParams Maggiori informazioni qui stackoverflow.com/questions/35688084/… e qui stackoverflow.com/questions/2048121/…