web-dev-qa-db-ja.com

angle2 @input-変更検出

@Inputの変更をリッスンする方法はありますか?

次の例では、「inputData」値が変更されるたびに通知されます。

@Input() inputData: InputData;
13
gka

ええ、OnChangesライフサイクルイベントを使用できます:

@Input() inputData: InputData;

ngOnChanges() {
    console.log(this.inputData);
}

Angularのライフサイクルイベントについて詳しく読む こちら

18
Stefan Svrkota
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
    }
 }

}
18
yala ramesh

次のようなものを使用できます:

Input('value')
set value(val: string) {
  this._value = val;
  console.log('new value:', value); // <-- do your logic here!
}

詳細はこちらで入手可能 link

この記事 もご覧ください

4
Bardia Rastin

コンポーネント内でOnChangesコンポーネントライフサイクルイベントをリッスンできます

ngOnChanges(model: SimpleChanges){
   console.log(model)
}
3
Pankaj Parkar