模板驱动和反应形式之间有什么实际区别?

问题描述 投票:110回答:4

我一直在阅读Angular2新的Forms API,似乎表单上有两种方法,一种是模板驱动形式,另一种是反应式或模型驱动型。

我想知道两者之间的实际差异,不是语法上的差异(显然),而是实际用途,哪种方法在不同场景中有更多好处。另外,选择其中一个是否有性能提升?如果是,为什么?

angular angular2-forms
4个回答
135
投票

模板驱动的表单功能

  • 使用方便
  • 适用于简单场景,适用于复杂场景
  • 与AngularJS相似
  • 双向数据绑定(使用[(NgModel)]语法)
  • 最小的组件代码
  • 自动跟踪表单及其数据(由Angular处理)
  • 单元测试是另一项挑战

反应表单功能

  • 更灵活,但需要大量练习
  • 处理任何复杂的场景
  • 没有数据绑定(大多数开发人员首选的不可变数据模型)
  • 更多组件代码和更少的HTML标记
  • 可以实现反应性转换,例如 根据去抖时间处理事件 处理事件时组件是不同的,直到更改为止 动态添加元素
  • 更简单的单元测试

19
投票

我认为这是对代码,策略和用户体验的讨论。

总之,我们改变模板驱动的方法,它更容易使用它,反应(在模型驱动的方法中)为我们提供更多的控制,通过利用HTML之间的解耦产生更好的可测试形式(设计/ CSS团队可以在这里工作)和组件的业务规则(angular / js专家成员),并通过响应式转换,相关验证和处理复杂场景等功能来改善用户体验,如运行时验证规则和动态字段复制。

这篇文章是一个很好的参考:Angular 2 Forms - Template Driven and Model Driven Approaches


14
投票

以下是DeborahK(Deborah Kurata)解释的模板驱动和反应形式之间的比较总结,enter image description here


0
投票

反应形式:

  • 可重复使用的,
  • 更健壮,
  • 可测试的,
  • 更具可扩展性

模板驱动形式:

  • 容易添加,
  • 可扩展性较差
  • 基本形式要求

在摘要中,如果表单对于您的应用程序非常重要,或者在您的应用程序中使用了反应模式,则应使用反应式表单。否则,您的应用程序对表单(如登录)有基本和简单的要求,您应该使用模板驱动的表单。

There is a angular offical link

© www.soinside.com 2019 - 2024. All rights reserved.