2017-01-18 23 views
9

@Input değişikliğini dinlemenin bir yolu var mı?angular2 @input - saptamayı değiştir

Aşağıdaki örnekte 'inputData' değeri değiştirildiğinde her zaman bilgilendirilmek isterim.

@Input() inputData: InputData; 

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

açısal yaşam döngüsü olayları here hakkında daha fazla bilgi:

@Input() inputData: InputData; 

cevap

13

Evet, OnChanges yaşam döngüsü olayı kullanabilirsiniz. Eğer bileşenlerin içinde OnChanges bileşen ömrü olaya

3

dinleyebilirim

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

gibi bir şey kullanabilirsiniz: ayrıca bir alabilir bu link

mevcut

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

fazla bilgi this article

15
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 
    } 
} 

}