当不同的formGroups
拥有相同的formControl
时,如果formControl
发生变化,则只会通知其中一个。
formControl
具有parent
属性,但没有parents
,当将其添加到formGroup
时,角度将替换其parent
属性。
const parent1 = new FormGroup({});
const partent2 = new FormGroup({});
const control = new FormControl();
parent1.addControl('key1', control);
parent2.addControl('key2', control);
parent1.valueChanges.subscribe((data)=>console.log('parent1 change'));
parent2.valueChanges.subscribe((data)=>console.log('parent2 change'));
control.setValue('v');
// only parent1 change
我需要一种在不同的formControl
中共享formGroups
的方法。手动复制formControl
非常麻烦。 (复制初始值,复制验证器,订阅valueChanges)。
有更好的共享formControl
的方法吗?
答案 0 :(得分:0)
是的,如您所见here,BusinessObject
具有属性AbstractControl
。因此控件只能有一个父级。
通过以下方式通知父母:
parent: FormGroup | FormArray