Angular 当组件输入为对象时,检测组件输入中的更改

Angular 当组件输入为对象时,检测组件输入中的更改,angular,angular-components,Angular,Angular Components,我有一个组件,它接收一个对象的输入onchanges不会检测对象上的更改。所以我需要使用DoCheck来观察输入对象的变化。因此,在这种情况下,我不能使用oninit方法,因为即使是第一次doCheck方法也会被命中。问题是我不知道是第一次初始化数据还是只是数据更改。我只需要对数据更改做一些修改。当输入是一个对象时,是否有更好的方法来检测其变化,这样我就可以知道它是第一组数据还是仅仅是数据的变化。向对象添加一个可观察对象,当属性发生变化时,该对象会发出一个事件。您可以通过创建属性getter/s

我有一个组件,它接收一个对象的输入
onchanges
不会检测对象上的更改。所以我需要使用DoCheck来观察输入对象的变化。因此,在这种情况下,我不能使用
oninit
方法,因为即使是第一次
doCheck
方法也会被命中。问题是我不知道是第一次初始化数据还是只是数据更改。我只需要对数据更改做一些修改。当输入是一个对象时,是否有更好的方法来检测其变化,这样我就可以知道它是第一组数据还是仅仅是数据的变化。

向对象添加一个可观察对象,当属性发生变化时,该对象会发出一个事件。您可以通过创建属性getter/setter并在setters中发出事件来实现这一点。
ngonit
只被调用一次,这样您就可以知道数据初始化的过程。然后在
ngDoCheck
中,您可以检查更改。第一次两人都被称为ngoninit和Ngodocheck。