Angular 2: Wie erkenne ich Attributänderungen an Eingabeattributen für eine Komponente?
Ich habe einen Angular 2 Controller, der so aussieht:
@Component({
selector: 'my-component',
template: '<div>The value is: {{ value }}</div>',
})
class MyComponent implements OnInit {
@Input()
value: string;
@Output
valueChange = new EventEmitter<number>();
ngOnInit() {
this.valueChange.subscribe(value => {
console.log('new value:', value); // <-- does not get triggered
});
}
}
Aber wenn der Wert vonvalue
Änderungen von einer Vorlagenbindung:
<my-component [value]="someValue" /> <!-- valueChange not triggered! -->
DasvalueChange
as @ -Ereignis wird nicht ausgelöst. Obwohl die Vorlage korrekt aktualisiert wird und den neuen Wert anzeigt, weiß die Komponente nicht, dass er geändert wurde.
Wie kann ich erkennen, wenn Eingabeattribute auf meinem Controller geändert werden?