嵌套形式的角单向数据流

时间:2018-08-08 21:56:32

标签: angular angular-forms

我正在使用嵌套形式的角度应用程序。主页包含整个页面的提交按钮,每个子组件(包含表单)都需要在父表单中注册,以便验证整个页面正常工作。

为此,我首先尝试在页面组件中添加一个FormArray并将其传递给随后称为formArray.push(this.formGroup)的子级。除我得到的ExpressionChangedAfterItHasBeenCheckedError之外,此方法正常工作。

在阅读错误信息后,我意识到这可能违反了单向数据流的原理,因为子级更新了父级formArray

我更新了逻辑,以使子级发出包含其自己的表单组的事件,并且页面侦听这些事件并将子级formGroups添加到FormArray

不幸的是,尽管据我所知单向数据流没有受到侵犯,但这似乎有时仍会导致ExpressionChangedAfterItHasBeenCheckedError?现在看来,当子组件通过* ngFor初始化时,它可以正常工作,但直接将子组件放在模板中(没有ngIngFor)会导致异常。

关于为什么可能会发生这种情况的任何想法,还是验证页面上所有嵌套表单的通用方法?

0 个答案:

没有答案