Ich verwende angular 5.0.3, ich möchte meine Anwendung mit einer Reihe von Abfrageparametern starten. wie "/ app? param1 = hallo & amp; param2 = 123". Jeder Tipp in Wie Abfrageparameter von URL in angular2? funktioniert nicht für mich.
Irgendwelche Ideen, wie Abfrageparameter erhalten werden?
%Vor%Diese private Funktion hilft mir, meine Parameter zu erhalten, aber ich glaube nicht, dass dies der richtige Weg in einer neuen Winkelumgebung ist.
[Aktualisierung:] Meine Haupt-App sieht so aus @Komponente({...}) Die Exportklasse AppComponent implementiert OnInit {
%Vor%In Angular 5 können Sie auf die Abfrageparameter zugreifen, indem Sie diese.route.queryParams abonnieren.
Beispiel: "/ app? param1 = hallo & amp; param2 = 123"
%Vor%wobei auf die Pfadvariablen von "this.route.snapshot.params"
zugegriffen wirdBeispiel: "/ param1 /: param1 / param2 /: param2"
%Vor%Wenn Sie ein leeres Routenobjekt haben, liegt das hauptsächlich daran, dass Sie keinen Router-Ausgang in Ihrer app.component.html verwenden.
Ohne dies wird es Ihnen nicht möglich sein, ein sinnvolles Routenobjekt mit nicht leeren Unterobjekten zu erhalten, insbesondere params & amp; queryParams.
Versuchen Sie, <router-outlet><router-outlet>
kurz vor dem Aufruf von
<app-main-component></app-main-component>
Stellen Sie zuvor sicher, dass Ihr Abfrageparameter in app-routing & gt; welche die von der App-Komponente verwendete Klasse Route exportieren:
%Vor% Letztendlich, um Ihren Parameter zu erhalten, benutze ich persönlich this.route.snapshot.params.dynamicParam
, wobei dynamicParam der Name ist, der in Ihrer App-Routing-Komponente verwendet wird :)
Sei vorsichtig mit deinen Routen. Ein "redirectTo" entfernt alle Abfrageparameter.
%Vor%Ich habe meine Hauptkomponente mit Abfrageparametern wie "/ main? param1 = a & amp; param2 = b" aufgerufen und angenommen, dass meine Abfrageparameter in der Methode "ngOnInit ()" in der Hauptkomponente ankommen, bevor die Umleitungsweiterleitung wirksam wird / p>
Aber das ist falsch. Die Umleitung wird vorher kommen, die Abfrageparameter weglassen und die ngOnInit () Methode in der Hauptkomponente ohne Abfrageparameter aufrufen.
Ich habe die dritte Zeile meiner Routen in
geändert %Vor%und jetzt sind meine Abfrageparameter in den Hauptkomponenten ngOnInit und auch in der PageOneComponent verfügbar.
Gefunden in: Elternkomponenten werden leer Params from ActivatedRoute
Arbeitete für mich:
%Vor%es funktioniert für mich:
%Vor%Weitere Optionen Wie Abfrageparameter von URL in angular2 ?
Tags und Links angular typescript