Das ist mein Code. Gibt es eine andere bessere oder beste Möglichkeit, die queryParams von der URL abzurufen?

  getSolutionId(){
    let solutionId: number;
    this.activatedRoute.queryParams.subscribe((queryParams) => {
      solutionId = queryParams.solutionId ? queryParams.solutionId: null;
    });
    return solutionId;
  }
0
C.E James 19 Jän. 2019 im 17:35

4 Antworten

Beste Antwort

Dies wird bereits von diesem Kommentar beantwortet, der auch auf die Angular-Dokumente, die beschreiben, wie dies erreicht werden kann.

1
user10747134user10747134 19 Jän. 2019 im 14:49

Sie verwenden den Router-Snapshot:

getSolutionId() {
   return this.activatedRoute.snapshot.queryParamMap.solutionId;
}

https://angular.io/api/router/ActivatedRouteSnapshot#queryParamMap

1
Reactgular 19 Jän. 2019 im 14:48

Sie können wie folgt vorgehen:

this.activatedRoute.queryParams.subscribe((params: Params) => {
      this.param = params['name'];

    }).unsubscribe();
  }

Dies unterscheidet zwischen Groß- und Kleinschreibung

0
Carlos E 19 Jän. 2019 im 15:06

Ich bin mir nicht sicher, in welchen Begriffen Sie Abfrageparameter abrufen möchten.

Angenommen, Sie versuchen, eine globale Methode zu erstellen, um gegebenenfalls queryParams abzurufen. Sie können die Methode für jeden Router-Wechsel wie folgt aufrufen:

this.router.events.subscribe(route => {
    this.activatedRoute.queryParams.subscribe((queryParams) => {
      solutionId = queryParams.solutionId || null;
    });
});
-1
Pardeep Jain 19 Jän. 2019 im 14:42