2017-07-24 42 views

回答

3

使用模板驱动方法,您基本上在模板中应用指令,如ngModel。基于这些指令Angular将创建formcontrol对象。这种方法适用于构建具有基本验证的简单表单(必需,最小长度,最大长度...)。

使用被动方法,您基本上需要在组件中创建formcontrols和formcontrolgroups的新实例。反应形式也是构建更复杂形式的最佳选择,如果您有意为您的表单执行单元测试,则反应形式更好。

结帐以下主题...

http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/

Angular2 Forms API, Template driven or Reactive?

9

由于它是从问题模板驱动形式来明确的东西,当我们编写逻辑,验证,控制了一切模板部分我的意思是在html代码中。该模板负责设置表单,验证等。

而在的情况下反应形式控制器端的所有逻辑验证部分我的意思是打字稿文件/类。 对于被动方法,您正在使用组件中的所有代码。一种远更少噪声的方法

模板驱动形式特点

  • 更易于使用
  • 适合简单的场景
  • 使用两个双向数据绑定(使用[(NgModel)]的语法)
  • 最少的分量代码
  • 表单及其数据的自动跟踪(由Angular处理)
  • 单元测试是挑战

活性形式特点

  • 方便单元测试
  • 更灵活,所以处理任何复杂的情况。
  • 活性变换可以由可能的,例如将元素添加动态
  • 没有数据绑定完成(通过大多数开发优选不可变的数据模型)
  • 更多分量代码和更少的HTML标记

+0

你能澄清更多关于“不可变数据模型”吗?也许有一个例子或链接? –

+1

@AbeerSul请通过以下链接了解更多关于Immutable数据: https://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html –

相关问题