Ich konvertiere eine vorhandene Anwendung in Angular 2 und benötige eine Anforderung, bei der ein Abfrageparameter null oder mehr (d. H. Wiederholt) mal angezeigt werden kann. Ein Beispiel wäre eine URL mit mehreren Parametern zum Sortieren (wie in #/results/data;sort=column1;sort=column2
) oder beim Aufrufen von Solr-Instanzen und Angeben mehrerer Facettenfiltern (https://cwiki.apache.org/confluence/display/solr/Common+Query+Parameters#CommonQueryParameters-Thefq(FilterQuery)Parameter). Typischerweise erkennt der empfangende Endpunkt diese wiederholten Parameter und präsentiert sie als ein Array.Wiederholter Abfrageparameter in Angular 2 Routing
Wie kann ich dies mit Angular 2 Routing tun? Ich benutze RC4 mit dem Router 3.0-beta-2. Wenn ich die ActivatedRoute
abonnieren und die params
betrachten, wird nur der letzte wiederholte Wert zurückgegeben, aber ich weiß, dass die vollständige URL übergeben wird, da Location.path()
zeigt, was getippt wurde.
Zum Beispiel angesichts der folgenden URL
https://localhost:44300/#/search;fq=efg:456;q=xyz;fq=abc
console.log(this.location.path(false));
zeigt /search;fq=efg:456;q=xyz;fq=abc
aber nur Object {fq: "abc", q: "xyz"}
mit
this.route.params.subscribe(params => {
console.log(params);
});
Vielen Dank für die schnelle Antwort. – Jason
Dies wird jetzt unterstützt: https://github.com/angular/angular/pull/11373 – jcroll
@jcroll groß! Danke für die Rückmeldung –