我有一个包含一些<input type="text">
小部件的表单,并且我注意到使用ControlGroup.valueChanges
和[ngFormModel]
时,在初始数据绑定(bind)时会调用ngControl
。
这意味着用户认为表格在初始加载时已被更改。
这是正常现象还是我应该使用其他可观察值来跟踪用户所做的更改?
我正在使用Angular2 RC3和以下版本的表单导入:
import {ControlGroup, Validators, FormBuilder} from '@angular/common';
最佳答案
我认为这就是它的工作方式,但是,如果您只想跟踪用户是否进行了更改,则应将ControlGroup.dirty
或formControl.dirty
与changes
Observable一起使用。
ControlGroup.valueChanges.subscribe(() => {
if(ControlGroup.dirty){
console.log('This change is made by User.');
}
else {
console.log('This change is Automated. before any User interaction.');
}
})
关于forms - Angular2 ControlGroup值在初始绑定(bind)时更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38297445/