首页 文章

角度2反应形式与模板形式

提问于
浏览
13

我们正在开始一个新的Angular 2项目,并正在考虑是否使用Reactive Forms或Template Forms . 背景阅读:https://angular.io/guide/reactive-forms

据我所知,Reactive Forms的最大优势在于它们是同步的,但我们有简单的形式,我不认为异步会导致我们的问题 . Reactive似乎有更多的开销,表面上有更多代码可以做同样的事情 .

有人可以提供一个可靠的用例,我会使用Reactive而不是更简单的模板表单吗?

2 回答

  • 51

    Template-driven vs Reactive Forms

    这是我在Pluralsight中关于Forms的课程的幻灯片 . 其中一些观点可能是有争议的,但我与Angular团队的人员合作开发了这个列表 .

  • 3

    模板驱动设计的优点是简单 . 控制器中的代码不多 . 大多数逻辑都发生在模板中 . 这适用于html代码背后不需要太多逻辑的简单形式 .

    但是每个表单都有一个可以通过许多不同的交互进行更新的状态,应由程序开发人员来管理该状态并防止它被破坏 . 对于非常大的表单,这可能很难做到,并且可能会引入错误 .

    另一方面,如果需要更多逻辑,通常还需要测试 . 然后,反应模型驱动设计提供更多 . 我们可以对表单验证逻辑进行单元测试 . 我们可以通过实例化类,在表单控件中设置一些值并执行测试来实现 . 对于复杂的软件,这对于设计和可维护性是绝对必要的 . 反应模型驱动设计的缺点是其复杂性 .

    还有一种混合两种设计类型的方法,但这将具有两种类型的缺点 .

    你可以在这里用两种方式的简单示例代码找到这个解释:Introduction to Angular Forms - Template Driven vs Model Driven or Reactive Forms

相关问题