Kann @ViewChild () oder ähnliches mit einem Router-Ausgang verwendet werden? Wie wenn?

9

Ich komme immer wieder zu einer Situation, in der ich lieber auf eine untergeordnete Komponente auf der anderen Seite eines Router-Outlet statt auf einen Selektor zugreifen möchte:

%Vor%

Dies steht in Konflikt mit der ViewChild-Funktionalität, wie ich sie kenne, doch scheint es so, als ob meine Komponente in der Lage sein sollte, das Innere des Router-Outlets zu sehen und mit ihnen zu interagieren.

Zum Beispiel habe ich das versucht:

%Vor%

Aber natürlich ist Kind undefiniert , weil dies der falsche Weg ist. Gibt es einen richtigen Weg?

Ich versuche, einen Dienst zu verwenden, um die Daten zu teilen, aber dann zu einem anderen Problem "Ausdruck hat sich geändert, nachdem es überprüft wurde", die ich ohne einen Hack oder Aktivieren des Prod-Modus beheben möchte.

    
Methodician 31.08.2016, 17:08
quelle

1 Antwort

21

Sie können das Ereignis aktivieren, um eine Referenz der instanziierten Komponente innerhalb des Router-Ausgangs zu erhalten.

Auszug aus RouterOutlet Docs

  

Eine Router-Steckdose sendet jedes Mal ein Aktivierungsereignis, wenn eine neue Komponente hinzugefügt wird   wird instanziiert, und ein Deaktivierungsereignis, wenn es ist   zerstört.

Beispiel

%Vor%

Hier ist der Plunker !!

Hoffe das hilft !!

    
Madhu Ranjan 31.08.2016 17:31
quelle