@Inputの変更をリッスンする方法はありますか?
次の例では、「inputData」値が変更されるたびに通知されます。
@Input() inputData: InputData;
ええ、OnChanges
ライフサイクルイベントを使用できます:
@Input() inputData: InputData;
ngOnChanges() {
console.log(this.inputData);
}
Angularのライフサイクルイベントについて詳しく読む こちら 。
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
}
}
}
コンポーネント内でOnChanges
コンポーネントライフサイクルイベントをリッスンできます
ngOnChanges(model: SimpleChanges){
console.log(model)
}