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?

questionAnswers(3)

yourAnswerToTheQuestion