Ich versuche, die Eltern-Route-Parameter in einer Lazy-Loaded-Route-Komponente zu bekommen, aber activatedRoute.parent.params
scheint nicht zu funktionieren? Ich habe ein Snippet, das tatsächlich funktioniert, aber es beinhaltet die Verwendung einer 'magischen' Array-Indexnummer, um den Wert abzurufen ....
Warum ist das der Fall und gibt es eine cleaner -Methode, in der ich keinen Array-Wert ( this.activatedRoute.pathFromRoot[1]
) abrufen muss?
Ich habe die folgende Route, in der ich ein Modul lazy lade:
parent.route
%Vor% Dann habe ich in der Standardkomponente für child.module
folgendes:
untergeordnete Komponente
%Vor% Warum kann ich this.activatedRoute.parent.params
nicht verwenden, um id
param zu erhalten?
Der beste Weg, dies ohne 'magic' array index number
zu erreichen, ist die Verwendung eines Dienstes.
ParentComponent
%Vor%Service
%Vor% Jetzt in der untergeordneten Lazyloaded-Komponente können Sie die Parameter mit service.getparams()
Nun können Sie auf die übergeordneten Router-Daten zugreifen. Es scheint ein bisschen seltsam in einigen Projektstrukturen, aber Sie können es tun, wenn Sie Ihre Router-Struktur kennen.
%Vor%Tags und Links angular typescript