使用ngrx的大量表单控件

时间:2018-04-01 21:49:50

标签: ngrx angular-reactive-forms

我最近学习了NgRx(实际上还在努力学习)并将我们现有的项目更新为Angular 5和ngrx结构。到目前为止这么好,但我们的一个页面得到了一个包含超过1k +表单字段的数据表。

我通常使用反应式表单来填充状态切片中的表单字段,并在用户发送表单时将更改更新为状态但是使用大量表单字段创建表单控件可能会非常昂贵而且不想放慢速度在那个页面上看起来好像只使用基本文本框和ngModel与NgRx结构

如何以NgRx方式解决该问题。提前谢谢

1 个答案:

答案 0 :(得分:2)

当您使用模板驱动表单时(在ngModel元素上使用input指令),angular会代表您自动创建FormControl并将其附加到所有已注册的input HTML元素,然后使用FormControl直接注册这些NgForm,角度为您创建并附加到form元素。另一方面,如果您选择使用被动表单,则您自己必须明确创建顶级FormGroup和任何FormControlFormArray,并注册这些{{ 1}} s和FormControl s与父FormArray并手动将这些绑定到您的FormGroup元素以及您希望角度关注的所有form元素。从逻辑上讲,在性能方面不应有任何显着差异。您也不应该对使用反应形式可能导致的性能问题做出任何假设,在这种情况下,测量是您的最佳答案。但是使用反应可以提高对表单的控制力和灵活性

ngrx商店只是一个州经理,它与redux商店非常相似,事实上,ngrx商店的灵感来自于redux商店,总之,ngrx商店允许你将所有应用状态放到一个中心位置,所以它更容易管理和检索,所以如果你不需要,你就不必真正使用它,没有真正的" ngrx方式"做事