2017-04-14 40 views

回答

2

要添加到以前的答案和解释这多一点...

changes是已更改的对象数组。因此,如果您有输入myInput,则需要通过执行changes['myInput']来访问更改数组中的对象。 myInput包含:

  • previousValue - 对象的前值(变更前)
  • currentValue - 布尔值,这是否是第一次出现了 - 已经改变
  • firstChange对象的当前值 发生了变化(注意,如果组件初始化为 且否则为false) - isFirstChange()将返回true,如果这是第一次更改。

代码:

//your input 
@Input() myInput: any; 

ngOnChanges(changes: any) { 
    //check if this isn't the first change of myInput 
    if(!changes['myInput'].isFirstChange()) { 
    //do something 
    } 
}