ActivatedRoute Felder sind Observables. Zum Beispiel möchten wir einen ID-Parameter oder nur ein n-tes URL-Segment erhalten. Anstelle von einfachen Maps oder Arrays verwenden wir Observables. Ist diese Übernutzung von Asynchronität oder wirklich für einen Zweck benötigt?Warum Angular 2 Observables anstelle von einfachen Arrays im Routing verwenden?
Antwort
Sie können die aktuelle Version eines Parameters unter Verwendung der snapshot
field of the ActivatedRoute erhalten.
Standardmäßig verwendet der Router dieselbe Komponente, wenn Sie von einer Route zur selben Route navigieren und nur die Parameter ändern. Sie benötigen also ein Observable, um auf die Änderungen der Parameterwerte innerhalb dieser Komponente reagieren zu können.
Nehmen wir an, Sie haben zum Beispiel eine Liste mit den anzuzeigenden Übungen. Wenn Sie auf eine Übung klicken, gehen Sie zu /exercises/1
. In der Vorlage der Komponente, die die Übung anzeigt, haben Sie einen "Weiter" -Link zu /exercises/2
. Wenn Sie auf diesen Link klicken, wird params
Observable einen neuen Wert ausgeben. Der Router erstellt jedoch keine neue Instanz von ActivatedRoute und erstellt keine neue Instanz von ExerciseComponent. Die Trainingseinheit muss die beobachtbaren Parameter abonnieren, um die Details der Übung 2 zu laden, wenn das Ereignis ausgegeben wird.
Wenn Sie keinen solchen Link haben, ist der Snapshot alles was Sie brauchen, und er enthält die Parameter als reguläres Objekt.
- 1. Angular 2 - Verwenden von RXJS Observables
- 2. Angular 2 Observables - Return Original beobachtbar, anstelle von switchMap/combateLatest
- 3. Angular 2 Observables Von PHP
- 4. Angular 2 - Routing im Dienst
- 5. Warum "[*]" anstelle von "[]" im Funktionsprototyp verwenden?
- 6. Angular 2 Observables Synchronisation verstehen
- 7. Observables im Vergleich zu Variablen in Angular 2-Diensten
- 8. Angular 2 Kind Routing
- 9. Angular 2 Routing-Problem
- 10. Angular 2 Final Routing
- 11. Angular 2 Routing onActivate
- 12. Angular 2 Routing Ausnahme
- 13. Daten einmal mit Observables in Angular 2
- 14. Angular 2 Routing-Fehler
- 15. Angular 2 Routing/Navigation
- 16. Angular 2 Routing
- 17. Angular 2-Routing LoadChildren
- 18. Angular 2 + Routing + Animationen
- 19. Warum nicht immer ArrayLists in Java anstelle von einfachen alten Arrays verwenden?
- 20. Abonnieren mehrerer Observables in Angular 2
- 21. Angular 2 Formbuilder mit Observables als Standardwerte
- 22. Observables funktioniert nicht angular 2 auf webapi
- 23. Angular 2 RC1 untergeordnetes Routing
- 24. Angular 2 - Dynamisches Routing von JSON-Daten
- 25. Angular 2 reddit Klon Routing
- 26. Angular 2 Routing mit Startseite
- 27. Angular 2 Routing - Router RC3
- 28. Warum verwenden Sie anstelle von console.log das $ log von angular?
- 29. URL Routing in angular 2
- 30. Angular 2 Empty Component Routing