Angular 角度父子-将数据传递到子组件

Angular 角度父子-将数据传递到子组件,angular,communication,Angular,Communication,我们的angular应用程序基本上是一个带有previous和back按钮的小工作流 我们已经为Back和Previous创建了一个组件,并在所有反应形式中使用它们。用户将显示父组件/表单接受输入数据表,提交表单之前需要对其进行验证。如果表中不存在单个条目,用户也无法导航 问题是子组件如何知道表单是否有效 方法:在初始化组件时使用变量isvalid=false,如果有行,则将其设置为true。现在,如果用户删除所有行,则再次设置为false。 是否有比上述更好的方法,因为必须为表单中的所有事件管

我们的angular应用程序基本上是一个带有previous和back按钮的小工作流

我们已经为Back和Previous创建了一个组件,并在所有反应形式中使用它们。用户将显示父组件/表单接受输入数据表,提交表单之前需要对其进行验证。如果表中不存在单个条目,用户也无法导航

问题是子组件如何知道表单是否有效

方法:在初始化组件时使用变量isvalid=false,如果有行,则将其设置为true。现在,如果用户删除所有行,则再次设置为false。
是否有比上述更好的方法,因为必须为表单中的所有事件管理变量?

angular中的被动表单带有一个属性invalid,如果表单无效,则返回true;如果表单有效,则返回false

您可以将此属性传递给子组件,并根据需要在子组件中使用它。这样,您就不会有管理变量的开销,因为属性将根据表单验证自动设置

<app-child-component [isParentInvalid]="ParentForm.invalid">

forms有一个名为statusChanged的属性,它返回一个可观察的。 使用statusChanged属性为表单创建事件发射器,并在所需组件中订阅它以检查表单的有效性

谢谢。将尝试并还原上述代码段。我的组件既包含表单,也包含表单下的表。因此,think必须管理此变量,因为它同时依赖于表单和表,即组件级别的变量。
 @Input() isParentInvalid: boolean;