Có cách nào để nghe cho @Input thay đổi không?angular2 @input - phát hiện thay đổi
Trong ví dụ sau, tôi muốn được thông báo bất cứ khi nào giá trị 'inputData' được thay đổi.
@Input() inputData: InputData;
Có cách nào để nghe cho @Input thay đổi không?angular2 @input - phát hiện thay đổi
Trong ví dụ sau, tôi muốn được thông báo bất cứ khi nào giá trị 'inputData' được thay đổi.
@Input() inputData: InputData;
Yeah, bạn có thể sử dụng OnChanges
vòng đời sự kiện:
@Input() inputData: InputData;
ngOnChanges() {
console.log(this.inputData);
}
Đọc thêm về các sự kiện chu kỳ góc của here.
Bạn có thể nghe OnChanges
kiện vòng đời phần bên trong thành phần của bạn
ngOnChanges(model: SimpleChanges){
console.log(model)
}
bạn có thể sử dụng một cái gì đó như:
Input('value')
set value(val: string) {
this._value = val;
console.log('new value:', value); // <-- do your logic here!
}
biết thêm có sẵn tại đây link
bạn cũng có thể tham gia một xem 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
}
}
}