Im Winkel 2, wie zu bewahren query params und fügen Sie zusätzliche query params route
So bin ich zum Beispiel auf der route /cars?type=coupe
und ich möchten, navigieren Sie zu dem gleichen Endpunkt mit zusätzlichen query params (aber halten vorhandene). Ich versuche, so etwas wie dieses
<a [routerLink]="['/cars']" [queryParams]="{model: 'renault'}" preserveQueryParams>Click</a>
Den Initialen query params sind erhalten (type=Autos), aber Hinzugefügt (Modell=renault) werden ignoriert. Ist diese erwartete/richtige Verhalten oder ist das eine Art bug? Sieht aus wie preserveQueryParams hat Vorrang vor queryParams? Es ist eine andere glatte Lösung?
- Bei der Verwendung von Anguar 4, ich sehe preserveQueryParams ist veraltet, verwenden Sie queryParamsHandling statt ???
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Winkel 4+,
preserveQueryParams
wurden verworfen zugunsten vonqueryParamsHandling
. Die Optionen sind entweder'merge'
oder'preserve'
.In-code-Beispiel (in
NavigationExtras
):In-template Beispiel:
Es nur funktioniert das so leider nicht:
const q = preserveQueryParams ? this.currentUrlTree.queryParams : queryParams;
Könnten Sie versuchen, hinzufügen einer benutzerdefinierten Richtlinie wie diese:
Update: Siehe DarkNeuron Antwort unten.
Es ist eine offene Frage und auch schon einen pull-request zu machen
preserveQueryParams
eine router-Einstellung anstelle einer pro-Navigations-Einstellung