【发布时间】:2018-12-26 03:03:20
【问题描述】:
我正在开发一个包含大量表单的 Angular 6 项目。一个 FormGroup 可以包含超过 10 个字段,并且可以在一个应用程序中多次重复使用。
所以,我在问如何更好地组织我的应用程序?目前,一个form.component.ts 有超过 200 行代码,其中大约 70% 的表单正在创建。
有没有办法将其拆分为可重复使用的部分?我尝试使用static 方法创建一个类,该方法返回由FormBuilder 制作的FormGroup,但这似乎不起作用。
这是关于
export class myClass {
constructor(private fb: FormBuilder) {}
static createFormGroup(): FormGroup {
this.fb.group({
// some stuff goes here
});
}
}
我不知道如何处理这个问题,因为实例是静态的,所以不会被创建。
【问题讨论】:
-
您可以将您的 FormGroup 传递给其他组件并动态添加 FormControls。
-
你能解释一下怎么做吗? (我有一组应该出现在该组中的 FormControls)
-
您的 FormGroup 可以通过 @Input() 在子组件中访问,也可以通过注入服务在任何组件中访问,但该服务将是单例的,这意味着将共享同一个实例。
-
你为什么认为我需要在某个地方传递那个formGroup?我有很多地方应该将它用作更大表单的一部分,并且应该在 formArray 中添加到那里
标签: angular angular-reactive-forms