【发布时间】:2018-01-12 06:46:09
【问题描述】:
我一直致力于为具有许多嵌套组件的应用程序实现模型驱动表单。
这是我当前模板的 sn-p
<div [formGroup]="formGroup">
<mycomponent1 [formParam]="getForm('myForm1')"></mycomponent1>
<mycomponent2 [formParam]="getForm('myForm2')"></mycomponent1>
<mycomponent3 [formParam]="getForm('myForm3')"></mycomponent1>
</div>
.ts 文件 sn-p
ngOnInit() {
this.formGroup= this.fb.group({
myForm1 = this.fb.group({...}),
myForm2 = this.fb.group({...}),
myForm3 = this.fb.group({...})
});
}
getForm(formName: string) {
return <FormGroup>this.formGroup.get(formName);
}
我的问题是:有没有人知道一些其他方法来实现模型驱动的表单到嵌套组件,而无需为子组件定义 @Input 表单组参数?
我的意思是,如何避免对每个嵌套组件都这样做?
@Input() formParam: FormGroup;
我为什么要问这个问题,因为我有更多嵌套组件,并且我不得不在其余嵌套组件中将表单组定义为 @Input,这是非常繁重的工作。
干杯。
【问题讨论】:
-
观看此视频:youtube.com/watch?v=CD_t3m2WMM8 Kara 涵盖了嵌套表单选项。
-
这主要取决于您要达到的目标。没有更好的方法来传递它,因为它应该以任何方式通过输入传递。但是嵌套组合可能负责创建组,而不是从父级接收它们。
-
@DeborahK 非常感谢,我刚刚发现了我忽略的概念,我会尝试它们并发布我的解决方案。干杯