繁体   English   中英

angular2 @input-更改检测

[英]angular2 @input - change detection

有没有办法监听@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
    }
 }

}

您可以使用类似:

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

更多信息,请访问此链接

您也可以看一下这篇文章

您可以侦听组件内部的OnChanges组件生命周期事件

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM