美文网首页angular6
响应式表单与模板驱动表单

响应式表单与模板驱动表单

作者: 柳源居士 | 来源:发表于2018-11-26 21:47 被阅读77次

    用表单处理用户输入是许多常见应用的基础功能。
    共同点:
    共享底层构造块。
    FormControl,FormGroup,FormArray,ControlValueAccessory。

    主要区别:
    他们在如何处理和管理表单以及表单数据的工作方式不同。
    在响应式表单中,视图中的每个表单元素都直接链接到一个表单模型FormControl Instance。
    在模板驱动表单中,每个表单元素都链接到一个指令上,该指令负责管理其内部表单模型。

    响应式:
    响应式表单通过对数据模型的同步访问提供了更多的可预测性,使用 Observable 的操作符提供了不可变性,并且通过 Observable 流提供了变化追踪功能。它们的可扩展性、可复用性和可测试性更强。
    显式,在组件类中创建。

    模板式:
    模板驱动表单在往应用中添加简单的表单时更加适用,他们添加起来很容易,但是不利于扩展。如果表单是非常基础的需求以及简单的逻辑,适用模板式会是不错的选择。
    隐式,由组件创建。

    表单验证的不同:
    响应式表单把自定义验证器定义成函数,它以要验证的控件作为参数。
    模板驱动表单和模板指令紧密相关,并且必须提供包装了验证函数的自定义验证器指令。

    选择一项策略首先要了解所提供选项的优缺点。当选择在 Angular 中构建表单要用哪种基础设施时,底层 API 访问、表单模型访问、可预测性、可变性、直截了当的验证方式和测试策略以及可伸缩性都是重要的考虑因素。 模板驱动表单和 AngularJS 中的传统模式相似,但它们具有局限性。响应式表单已经和 Angular 架构其它区域中存在的响应式模式相整合,并很好地弥补了这些需求,这些限制通过响应式表单技术得到了缓解。

    相关文章

      网友评论

        本文标题:响应式表单与模板驱动表单

        本文链接:https://www.haomeiwen.com/subject/rwryqqtx.html