Javascript 什么是Angular 2 RC5编写基于模板的表单的方法?

Javascript 什么是Angular 2 RC5编写基于模板的表单的方法?,javascript,forms,angular,Javascript,Forms,Angular,我必须说,我完全被网上关于RC5角形的不同教程弄糊涂了。官方文件也没有消除这种混乱 大量的指令(ngForm、ngModel、ngFormControl、ngControl、ngFormControlName、ngControlName,我是否遗漏了什么?)有些指令不推荐使用,有些则不推荐使用 此外,所有教程都采用简单的路径-纯文本输入或选择控件。如果我需要单选按钮和复选框 简而言之,我不知道如何在RC5中编写表单 是否有一个最新的例子,说明: 4个基本控件的使用-输入文本/收音机/复选框并选择

我必须说,我完全被网上关于RC5角形的不同教程弄糊涂了。官方文件也没有消除这种混乱

大量的指令(ngForm、ngModel、ngFormControl、ngControl、ngFormControlName、ngControlName,我是否遗漏了什么?)有些指令不推荐使用,有些则不推荐使用

此外,所有教程都采用简单的路径-纯文本输入或选择控件。如果我需要单选按钮和复选框

简而言之,我不知道如何在RC5中编写表单

是否有一个最新的例子,说明:

  • 4个基本控件的使用-输入文本/收音机/复选框并选择
  • 那些额外的好东西,比如脏的/原始的
  • 表单模型(FormBuilder、FormGroup、FormControl等)
  • 附言

    我读了什么


    我可能很愚蠢,但我仍然不知道用RC5编写表单的正确方法是什么。

    我喜欢FormBuilder,因为大部分代码都在ts中,而不是html中,因此有更好的编译时错误检查

    PrimeNG有一些使用FormBuilder的优秀控件

    此外,我还有一些可能有助于说明有效/无效的

    关于angular2表单,我发现真正让人困惑的是,有两种完全不同的方法来构建它们,而且这两种方法不能很好地混合。您可以使用“模板驱动”,在html中尽可能多地构建和处理表单,然后使用“模型驱动”,在组件端处理表单

    我找到的不同类型的最佳描述是这段视频,卡拉·埃里克森在视频中演示了这两种类型。她很好地解释了10-11分钟的差异:

    简言之:


    模板驱动表单

    如果要在html模板中执行所有表单处理(绑定、验证等),请使用以下指令:

    • ngModel
    • ngModelGroup
    • ngForm

    模型驱动表单(也称为反应式表单

    如果您想拥有更精细的控件、更好的可测试性、自定义验证器等,请使用以下控件在组件中手动生成表单:

    • FormGroup
    • 窗体控件
    • 形式阵列
    • 可以选择使用
      FormBuilder
      来减少一些样板文件
    然后使用以下指令将html
    表单
    输入
    元素绑定到这些控件:

    • formControlName
    • formGroupName

    编辑2016-09-02: 官方文件中现在有一本很好的食谱,很好地涵盖了模板/反应式表单之间的差异:

    不要错过这个::)是的,让我们结束这个问题。了解ng2 RC5表单示例是没有用的,因为毕竟,“好”是主观的东西,我们无法承受答案中的主观性。