我们的角度应用程序基本上是一个小的工作流程,具有上一步和后退按钮。
我们已经创建了一个组件(用于后退和上一步),并以所有反应形式使用了它们。父组件/表单接受用户的输入数据(显示表格),并且需要在提交表单之前对其进行验证。如果表中没有单个条目,则用户也无法导航。
问题是子组件如何知道该表单是否有效?
方法:初始化组件时,如果有行,将其设置为true,则使用变量isvalid = false
。现在,如果用户删除所有行,则再次将其设置为false。
是否有比上述方法更好的方法,因为对于所有事件,都必须以该形式管理变量?
答案 0 :(得分:1)
呈角度的反应形式带有属性invalid
,如果形式无效,则返回true;如果有效,则返回false。
您可以将此属性传递给子级,并根据需要在子级组件中使用它。这样,您就无需管理变量,因为该属性将根据表单验证自动设置。
<app-child-component [isParentInvalid]="ParentForm.invalid">
app-child-component
必须具有属性的地方
@Input() isParentInvalid: boolean;
答案 1 :(得分:0)
forms具有一个称为“ statusChanged”的属性,它返回一个可观察的对象。 使用“ statusChanged”属性为表单创建事件发射器,并将其订阅到必需的组件中以检查表单的有效性 statusChanged