Javascript 什么是Angular 2 RC5编写基于模板的表单的方法?
我必须说,我完全被网上关于RC5角形的不同教程弄糊涂了。官方文件也没有消除这种混乱 大量的指令(ngForm、ngModel、ngFormControl、ngControl、ngFormControlName、ngControlName,我是否遗漏了什么?)有些指令不推荐使用,有些则不推荐使用 此外,所有教程都采用简单的路径-纯文本输入或选择控件。如果我需要单选按钮和复选框 简而言之,我不知道如何在RC5中编写表单 是否有一个最新的例子,说明:Javascript 什么是Angular 2 RC5编写基于模板的表单的方法?,javascript,forms,angular,Javascript,Forms,Angular,我必须说,我完全被网上关于RC5角形的不同教程弄糊涂了。官方文件也没有消除这种混乱 大量的指令(ngForm、ngModel、ngFormControl、ngControl、ngFormControlName、ngControlName,我是否遗漏了什么?)有些指令不推荐使用,有些则不推荐使用 此外,所有教程都采用简单的路径-纯文本输入或选择控件。如果我需要单选按钮和复选框 简而言之,我不知道如何在RC5中编写表单 是否有一个最新的例子,说明: 4个基本控件的使用-输入文本/收音机/复选框并选择
我可能很愚蠢,但我仍然不知道用RC5编写表单的正确方法是什么。我喜欢FormBuilder,因为大部分代码都在ts中,而不是html中,因此有更好的编译时错误检查
PrimeNG有一些使用FormBuilder的优秀控件
此外,我还有一些可能有助于说明有效/无效的关于angular2表单,我发现真正让人困惑的是,有两种完全不同的方法来构建它们,而且这两种方法不能很好地混合。您可以使用“模板驱动”,在html中尽可能多地构建和处理表单,然后使用“模型驱动”,在组件端处理表单 我找到的不同类型的最佳描述是这段视频,卡拉·埃里克森在视频中演示了这两种类型。她很好地解释了10-11分钟的差异: 简言之:
模板驱动表单 如果要在html模板中执行所有表单处理(绑定、验证等),请使用以下指令:
- ngModel
- ngModelGroup
- ngForm
模型驱动表单(也称为反应式表单) 如果您想拥有更精细的控件、更好的可测试性、自定义验证器等,请使用以下控件在组件中手动生成表单:
- FormGroup
- 窗体控件
- 形式阵列
- 可以选择使用
来减少一些样板文件FormBuilder
表单
和输入
元素绑定到这些控件:
- formControlName
- formGroupName
编辑2016-09-02: 官方文件中现在有一本很好的食谱,很好地涵盖了模板/反应式表单之间的差异:
不要错过这个::)是的,让我们结束这个问题。了解ng2 RC5表单示例是没有用的,因为毕竟,“好”是主观的东西,我们无法承受答案中的主观性。