【发布时间】:2020-12-27 17:18:12
【问题描述】:
我有一个组件正在使用OnPush 更改检测。
在这个组件中,我有一个 FormArray(在 FormGroup 内部)。
我有两个按钮,在FormArray 中添加(push)或删除(removeAt)FormGroup。
我希望由于OnPush 更改检测,更改不可见(根FormGroup 参考没有更改)
但是该组件可以完美地检测到更改。
我找到了一个类似的示例 (StackBlitz),其中手动调用了 changeDetection,但是当我删除这部分代码时,它仍然可以正常工作。
我检查了Angular source,我的猜测是updateValueAndValidity 函数调用正在进行更改检测,这StackOverflow comment 也证实了这一点。
那么有人可以解释一下它是如何工作的吗?
我不想在 Angular 更新后破坏我的应用程序。
提前致谢!
【问题讨论】:
标签: angular angular2-changedetection formarray