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

问题描述

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

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

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

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

谢谢!

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...