【问题标题】:Get only changed values from Reactive From of Angular仅从 Angular 的 Reactive From 获取更改的值
【发布时间】:2019-03-13 02:43:51
【问题描述】:
我正在做一个 Angular-6 项目。
我有许多不同结构的表格。我想要一个通用方法,它只返回 modified FromControls 和 modified values,与 Form 结构无关。
我已经想到了一些方法来做到这一点。
一种是订阅每个FormControl的valueChanges()方法。但缺点是会乱码。
第二种方法是我可以为每个 FormControl 绑定一个方法到事件 (change) 并检查它的值是否改变。但这似乎不是最好的方法。
有没有办法以适当的方式做到这一点?
【问题讨论】:
标签:
angular
angular-reactive-forms
valuechangelistener
【解决方案1】:
使用 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>