Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 验证子组件/防护装置_Angular_Angular2 Routing - Fatal编程技术网

Angular 验证子组件/防护装置

Angular 验证子组件/防护装置,angular,angular2-routing,Angular,Angular2 Routing,在Angular 2应用程序中,我有几个用于配置多个设置的组件(从现在起,我将称它们为“子组件”),以及模块的主组件(路由到并使用这些子组件)。我使用被动(模型驱动)表单,因此每个子组件都有自己的表单(和FormGroup) 保存将通过主组件上的一个保存按钮完成。我的第一个问题是如何从这个主组件中找出它的所有子组件是否都有效?我已经知道我可以使用@ViewChild来访问我的子组件,它可以正常工作 对于@ViewChild来说,这是一个有效的目的,还是仅仅是一个肮脏的黑客行为,有更好的解决方案吗

在Angular 2应用程序中,我有几个用于配置多个设置的组件(从现在起,我将称它们为“子组件”),以及模块的主组件(路由到并使用这些子组件)。我使用被动(模型驱动)表单,因此每个子组件都有自己的表单(和
FormGroup

保存将通过主组件上的一个保存按钮完成。我的第一个问题是如何从这个主组件中找出它的所有子组件是否都有效?我已经知道我可以使用
@ViewChild
来访问我的子组件,它可以正常工作

  • 对于
    @ViewChild
    来说,这是一个有效的目的,还是仅仅是一个肮脏的黑客行为,有更好的解决方案吗

  • 另一种方法是在服务中存储
    myFormGroup.valid
    ,并在
    myFormGroup.statusChanges.subscribe(…)
    中更新它。此事件激发时有效属性是否已更改?(描述“每次重新计算控件的验证状态时都会发出事件”对我来说并不清楚)

  • 使用
    @ViewChild
    CanDeactivate
    防护进行脏检测是否合法