我正在从事Angular-6项目。
我有许多结构不同的表格。我想要一个通用方法,该方法仅返回具有修改值的修改过的FromControls ,而与Form结构无关。
我已经想到了一些方法。
一种方法是订阅每个 FormControl 的 valueChanges()方法。但是缺点是弄乱了代码。
第二种方法是,我可以为每个 FormControl 将方法绑定到事件(更改),并检查其值是否更改。但这又不是最好的方法。
有什么办法可以适当地做到这一点?
答案 0 :(得分:0)
使用带有所需控件的FormBuilder创建表单。
this.myForm = this.formBuilder.group({
ctrl1: '',
ctrl2: ''
});
为需要检测其更改的控件分配一个变量。
this.control1 = this.myForm.get('ctrl1');
使用一种方法来获取值更改:
getControlVal(val)
{
console.log(val)
}
然后在模板上,每个“ keyup”事件都传递控制值:
<form [formGroup]="myForm">
<input formControlName="ctrl1" (keyup)="getControlVal(control1.value)" />
</form>