首页 文章

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

提问于
浏览
91

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

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

3 回答

  • 107

    Template Driven Forms Features

    • 易于使用

    • 适用于简单场景,对于复杂场景无效

    • 与AngularJS相似

    • 双向数据绑定(使用 [(NgModel)] 语法)

    • 最小的组件代码

    • 自动跟踪表单及其数据(由Angular处理)

    • 单元测试是另一项挑战

    Reactive Forms Features

    • 更灵活,但需要大量练习

    • 处理任何复杂的场景

    • 没有完成数据绑定(大多数开发人员首选的不可变数据模型)

    • 更多组件代码和更少的HTML标记

    • 可以实现反应性转换,例如

    • 根据去抖时间处理事件

    • 在组件不同时处理事件,直到更改为止

    • 动态添加元素

    • 更简单的单元测试

  • 7

    我认为这是关于 codestrategyuser experience 的讨论 .

    总之,我们改变 template-driven 方法,它是 more easy to work ,用 reactive (在模型驱动的方法中)给我们 more control ,通过利用HTML之间的解耦来产生更好的可测试形式(设计/ CSS团队可以在这里工作)和组件的业务规则(angular / js专家成员)和 improve the user experience 具有反应转换,相关验证和 handle complex scenarios 等功能作为运行时验证规则和动态字段复制 .

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

  • 18

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

相关问题