Sagen wir haben Eltern-Controller "P" und 2 Kinder: "A" und "B".So aktualisieren Sie 2 Ansichten mit verschiedenen Parametern von 1 Controller
"A" Controller hat Eingang und in "P" Vorlage zweimal mit anderen Parametern verwendet:
<A-app [input]='param1'></A-app>
<A-app [input]='param1'></A-app>
<B-app (flag)="onClick($event)"></B-app>
"B" Steuerung eine Taste enthält. Wenn ich in "B" Vorlage auf diese Schaltfläche klicken, emittiere ich von "B" -Controller eine "Flagge", die onClick($event)
in einem "P" -Steuergerät auslöst.
Dieser onClick($event)
gewidmet Wert ändern in "A" Steuerung über @ViewChild Funktionsaufruf von "A" Controller (wie folgt aus: this.componentA.changeAPar();
)
Also muss ich Wert ändern in "A" Steuerung per Klick auf die Schaltfläche in "B" Controller-Vorlage.
Diese Regelung nur mit einer Verwendung eines Wählers funktioniert gut:
<A-app [input]='param1'></A-app> //<---- 1 usage
<B-app (flag)="onClick($event)"></B-app>
Wenn ich Wähler 2-mal verwenden, dann Parameteraktualisierungen, aber nur in einem ersten Fall macht.
Wie funktioniert das?
Update: die gleiche Wirkung, wenn ich eine Abkürzung in einer "P" Vorlage verwenden, um eine Verbindung "A" und "B":
<A-app #a-app [input]='param1'></A-app>
<A-app #a-app [input]='param1'></A-app>
<B-app (flag)="#a-app.changeAPar()"></B-app>
ngOnChanges hat mir sehr geholfen, danke! – Ivanesses