Angular 2: como detectar alterações de atributo nos atributos de entrada em um componente?
Eu tenho um controlador Angular 2 que se parece com isso:
@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
});
}
}
Mas quando o valor devalue
alterações de uma ligação de modelo:
<my-component [value]="someValue" /> <!-- valueChange not triggered! -->
ovalueChange
evento não é acionado, mesmo que o modelo atualize corretamente e mostre o novo valor, o componente não sabe que foi alterado.
Como posso detectar quando os atributos de entrada no meu controlador são alterados?