检测输入中的更改以执行角度2中的另一个功能

时间:2018-03-19 14:04:27

标签: angular

我有两个组件(父组件和子组件),我将一个名为 project 的自定义对象发送到子组件,它更新/显示恰到好处,但是当发生这种更改时我想执行子组件中的另一个函数。是否可以检测项目对象何时更新,然后在子组件中运行该函数?

到目前为止,我已经使用以下代码实现了一些目标,但我不确定这是否是正确的方法。

ViewModel

编辑:我忘了提到输入是一个带有数组和不同属性类型的复杂对象。在代码示例中,我只比较了对象的一个​​属性。

1 个答案:

答案 0 :(得分:0)

在您的子组件中:

实现OnChanges接口,并将函数ngOnChanges添加到您的组件中。在那里,您可以准确地检查哪个输入参数已更改:

@Input() prop: number;

ngOnChanges(changes: SimpleChanges) {
    // changes.prop contains the old and the new value
}

参考:https://angular.io/api/core/OnChanges