Ich habe Eltern mit einigen Daten, die aus der Datenbank abgerufen werden soll, wenn zurück zu übergeordneten von einer untergeordneten Komponenten navigieren. Diese Kinder werden mit Router-Outlet angezeigt.Navigieren zu übergeordneten aus Kind und Ausführen von Funktionen in übergeordnetes Element Angular2
Wir beginnen, dass der Benutzer von der Anmeldeseite zum übergeordneten Element navigiert wird, ohne dass ein Kind sichtbar ist. Ich habe eine Liste in Eltern, die aus der Datenbank abgerufen werden, wenn Sie zur Seite navigieren
constructor(private todoService: TodoService) {
this.todoService.getData()
.subscribe(data => this.data)
}
Das funktioniert gut. Diese Liste wird angezeigt, und wenn der Benutzer eines dieser Elemente auswählt, wird der Benutzer zu einem Kind navigiert, wo er dieses mit einem neuen Wert aktualisiert und dann zum übergeordneten Objekt zurück navigiert. Wie:
update(todo) {
this.service.updateData(todo)
.subscribe(data => {
console.log(data);
this.router.navigate(['parent'])
});
}
Das Problem: Wenn der Benutzer auf die übergeordnete Ebene zurück bekommt, die übergeordnete Liste nicht aktualisieren, ich glaube, weil Eltern immer da? Wenn ich die Liste aktualisiere, ist das in Ordnung, also funktioniert update in child.
Wie kann ich die übergeordnete Komponente zur Ausführung this.todoService.getData()
, die im Konstruktor ist, so dass ich die neue Version der Daten aus der Datenbank haben, so dass ich nicht Seite aktualisieren müssen.
Ihr Elternkonstruktor führt das zweite Mal nie aus, bis es zerstört wird, also mein Vorschlag ist, dass ein eventemmiter Eltern informieren, um zu aktualisieren, lassen Sie mich wissen, wenn Sie Beispiel benötigen? –
können Sie Ihre Vorlage auch mit dem Elternteil teilen? –