Ich habe eine angular2 Form, die aus einer übergeordneten Komponente und wenigen untergeordneten Komponenten besteht. Ich habe ein ReplaySubject in meinem Dienst, das ausstrahlt, wenn der Elternteil etwas speichern muss und die Kinder es abonnieren und seine Elemente speichern. Die Elternkomponente muss wissen, wann alle Kinder gespeichert haben. (Wir werden immer noch in der Form sein, wenn das Sparen getan ist. So können die Kinder sich nicht abmelden.) Wie erreiche ich das? Jede Hilfe würde sehr geschätzt werden.Observables: Angular2 Parent untergeordnete Kommunikation
DankParent component
----------------------
ngOnInit() {
// TODO: listen to child events and check if respose from all children received ??
}
save() {
console.log("Saving elements on parent component");
this.formService.save$.next(this.job.id);
}
Child 1
----------------
ngOnInit() {
this.formService.save$.subscribe(() =>
console.log("Save elements on child1 component");
// TODO: some event from here to say child 1 is done saving. ?
);
}
Child 2
----------------
ngOnInit() {
this.formService.save$.subscribe(() =>
console.log("Save elements on child2 component");
// TODO: some event from here to say child 2 is done saving. ?
);
}
Aber wie wissen wir, dass wir die Antwort von allen Kindern bekam – Josf
Sie haben würde, dass in der 'onSaved' Methode verfolgen - vermutlich unter Verwendung eines Zählers/Inkrementieren, um zu ermitteln, wie oft diese gespeicherte Funktion aufgerufen wurde. –
Ok. Vielen Dank. Ich frage mich, ob es eine ausgeklügelte Möglichkeit gibt, dies mit rxjs zu tun – Josf