@入力変更をリッスンする方法はありますか?angular2 @入力変更検出
次の例では、 'inputData'の値が変更されたときに通知されたいと思います。
@Input() inputData: InputData;
@入力変更をリッスンする方法はありますか?angular2 @入力変更検出
次の例では、 'inputData'の値が変更されたときに通知されたいと思います。
@Input() inputData: InputData;
うん、あなたはOnChanges
ライフサイクルイベントを使用することができます。
@Input() inputData: InputData;
ngOnChanges() {
console.log(this.inputData);
}
角度のライフサイクルイベントhereについてお読みください。あなたのコンポーネント内にOnChanges
コンポーネントのライフサイクルイベントに
聞くことができ
ngOnChanges(model: SimpleChanges){
console.log(model)
}
次のようなものを使用することができます:あなたも取ることができ、このlink
で利用可能
Input('value')
set value(val: string) {
this._value = val;
console.log('new value:', value); // <-- do your logic here!
}
の詳細情報を見てくださいthis article
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
}
}
}