Wie Sie programmgesteuert ändern Sie die Eingabe-Wert einer Komponente, die bereits gerendert (Winkel 2)
In meinem Winkel 2 app habe ich eine Komponente (mainComp), die anderen über
<my-comp></my-comp>
mein comp emittiert (auf auswählen /Klick) ist es Wert (dies ist eine benutzerdefinierte dropdown) über
this.optionSelected.emit(currentOption == "Not described" ? null : currentOption);
mainComp
erhält den Wert des dropdown-von
- Gute Frage! Die @Input-Wert kann geändert werden durch Zuweisung eines Wertes an die input-Eigenschaft
- können Sie bitte ein Beispiel in einer tatsächlichen Antwort?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hast du ein 2-Wege-Bindung, so dass, wenn das Objekt ändert, wird das Ergebnis sollte auch aktualisiert werden. Wenn Sie habe eine EventEmitter, abonnieren Sie im Konstruktor wie:
Nun, jedesmal, wenn die EventEmitter feuert emittieren, das Wert-Attribut in MainComp aktualisiert werden.
Wenn Sie wollen etwas, facy, werfen Sie einen Blick auf ngOnChanges (https://angular.io/docs/ts/latest/cookbook/component-communication.html)
Update:
Meinst du sth. wie diese:
Dies sollte ein 2-Wege-Bindung, so dass, wenn eine der Komponenten Bearbeitungen Wert, der anderen informiert wird.
Werfen Sie einen Blick auf diese: https://angular.io/docs/ts/latest/guide/template-syntax.html#!#ngModel