Wie Abfrageparameter von URL in angular-5 erhalten?

11

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%     
Lars 23.11.2017, 12:36
quelle

6 Antworten

26

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 wird

Beispiel: "/ param1 /: param1 / param2 /: param2"

%Vor%     
Vijayendra Mudigal 06.01.2018 07:35
quelle
1
%Vor%

AKTUALISIEREN

%Vor%     
Dmitry Grinko 23.11.2017 12:52
quelle
0

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>

hinzuzufügen

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 :)

    
andrea06590 23.11.2017 16:23
quelle
0

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.

    
Lars 24.11.2017 08:53
quelle
0

Gefunden in: Elternkomponenten werden leer Params from ActivatedRoute

Arbeitete für mich:

%Vor%     
Yonatan Ayalon 26.11.2017 16:32
quelle
0

es funktioniert für mich:

%Vor%

Weitere Optionen Wie Abfrageparameter von URL in angular2 ?

    
izik f 06.01.2018 22:23
quelle

Tags und Links