作者:李辰1990 | 来源:互联网 | 2023-01-28 19:11
任何人都可以解释为什么我需要使用它们?
在哪些情况下,与FormsModule相比,Reactive Forms使我的生活更简单,更好?
1> BeetleJuice..:
基本上,FormsModule
如果您有非常简单的要求就足够了.我的第一个表格都是FormsModule
.如果您只需要将表单输入绑定到模型属性,它们就很棒.
ReactiveFormsModule
第一次使用它时会有更大的痛苦,但它们会给你更多的控制.因为您在组件中创建表单元素,所以您可以轻松地执行以下操作:
在任何点读取/写入输入的值(甚至在构建视图之前)
定义高级验证规则,包括异步验证器(例如:在用户填写注册表的其余部分时,与服务器核实输入的用户名是否可用)
当值发生变化时,立即通知并立即做出反应
访问本机HTML表单元素
重置表单...
如果你关心单元测试(好的编码器应该),反应形式更容易测试,因为它们可以被迫操纵.有了FormsModule
,只是在单元测试中获得对表单实例的引用是一种痛苦.
自从我做了转换,我没有回去FormsModule
.查看文档
角度反应形式有助于反应式编程,有利于显式管理非UI数据模型(通常从服务器检索)和面向UI的表单模型之间流动的数据,该模型在屏幕上保留HTML控件的状态和值.反应形式提供了易用性反应模式,测试和验证.
使用反应式表单,您可以使用本指南中介绍的技术在组件类中创建一个Angular表单控件对象树,并将它们绑定到组件模板中的本机表单控件元素.
您可以直接在组件类中创建和操作表单控件对象.由于组件类可以立即访问数据模型和表单控件结构,因此可以将数据模型值推送到表单控件中,并将用户更改的值拉回.组件可以观察表单控制状态的变化并对这些变化做出反应.