使用OnPush在push / removeAt之后更新了Angular FormArray内容

问题描述

我有一个正在使用OnPush更改检测的组件。
在此组件中,我有一个FormArray(在FormGroup里面)。
我有两个按钮,分别在push添加({removeAt)或删除FormGroupFormArray
我期望由于OnPush的更改检测而导致更改不可见(根FormGroup引用中没有更改)
但是该组件可以完美地检测到更改。

我发现了一个类似的示例(StackBlitz),其中changeDetection手动调用,但是当我删除代码的那一部分时,它仍然可以正常工作。

我检查了Angular source,我猜是updateValueAndValidity函数调用正在进行更改检测,这个StackOverflow comment也确认了这一点。

那么有人可以解释它是如何工作的吗?
Angular更新后,我不想在将来中断我的应用程序。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)