Angulaire 2: comment puis-je détecter les changements d'attribut pour les attributs d'entrée sur un Composant?

J'ai Angulaire à 2 Contrôleur qui ressemble à ceci:

@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
    });
  }
}

Mais lorsque la valeur de value changements à partir d'un modèle de liaison:

<my-component [value]="someValue" /> <!-- valueChange not triggered! -->

La valueChange l'événement n'est pas déclenché donc, même si le modèle correctement les mises à jour et affiche la nouvelle valeur de la composante ne sait pas qu'il a été modifié.

Comment puis-je détecter lors de la saisie d'attributs sur mon contrôleur sont-elles changé?

OriginalL'auteur David Wolever | 2016-08-08