在我的Angular 2应用程序中,我有几个组件用于配置多个设置(我将从现在开始将其称为“子组件”)以及路由到并使用这些子组件的模块主要组件。我使用反应(模型驱动)表单,因此每个子组件都有自己的形式(和FormGroup
)。
使用主要组件上的一个保存按钮进行保存。我的第一个问题是如何从这个主要组件中弄清楚它的所有子组件是否都有效?我已经发现我可以使用@ViewChild
来访问我的子组件并且它可以工作。
@ViewChild
是一个有效目的还是只是一个肮脏的黑客,并且有更好的解决方案吗?
另一种方法是将myFormGroup.valid
存储在服务中并在myFormGroup.statusChanges.subscribe(...)
内更新。此事件触发时是否已更改有效属性? (描述“每次重新计算控件的验证状态时发出一个事件”对我来说不清楚这一点。)
使用@ViewChild
进行CanDeactivate
守卫的脏检测是否合法?