【发布时间】:2019-03-06 09:25:27
【问题描述】:
我有一个具有以下结构的示例反应形式:
- id
- firstName
- lastName
- siblings
- id
- firstName
- lastName
Siblings 是由子组件渲染的数组。我测试了两种绑定父/子的方法:
1) 使用表单组
<app-child *ngFor="let sibling of form.get('siblings').controls" [formGroup]="sibling"></app-child>
2) 使用“真实模型”
<app-child *ngFor="let sibling of model.siblings; let i = index;" [model]="sibling" (changed)=updateSiblingModel($event,i)>
两者都运行良好。我的问题是:一种方法被认为优于另一种方法吗?
响应式表单与真实模型(由this.form.value 获得)具有几乎 1:1 的关系,以及一些有趣的好处,例如级联验证器和事件。它工作得非常好,但我觉得我从子组件到外部组件中提取了“太多逻辑/结构”。
绑定到模型也可以正常工作,但我有更多的接线要做(例如(changed)=updateSiblingModel($event,i),但我觉得它更有凝聚力。
这是比较两种策略的完整示例:
https://stackblitz.com/edit/angular-form-binding
我对大型 Angular 项目没有太多经验,所以我也想知道是否有任何方法比其他方法更适合扩展。
谢谢
【问题讨论】:
标签: angular architecture angular-reactive-forms