Existe-t-il un moyen d'écouter le changement @Input?
Dans l'exemple suivant, je voudrais être informé chaque fois que la valeur de "inputData" est modifiée.
@Input() inputData: InputData;
Oui, vous pouvez utiliser OnChanges
événement de cycle de vie:
@Input() inputData: InputData;
ngOnChanges() {
console.log(this.inputData);
}
En savoir plus sur les événements du cycle de vie d'Angular ici .
import { Component, Input, OnChanges, SimpleChange } from '@angular/core';
export class Demo implements OnChanges {
@Input() inputData: InputData;
ngOnChanges(changes: {[propertyName: string]: SimpleChange}) {
if (changes['inputData'] && this.inputData) {
//your logic work when input change
}
}
}
vous pouvez utiliser quelque chose comme:
Input('value')
set value(val: string) {
this._value = val;
console.log('new value:', value); // <-- do your logic here!
}
plus d'informations disponibles sur ce lien
vous pouvez également consulter cet article
Vous pouvez écouter OnChanges
événement de cycle de vie du composant dans votre composant
ngOnChanges(model: SimpleChanges){
console.log(model)
}