我有一个包含一些<input type="text">
小部件的表单,我注意到在使用ControlGroup.valueChanges
和[ngFormModel]
时,在初始数据绑定时调用了ngControl
。
这意味着用户认为表单在初始加载时已更改。
这是正常的还是我应该使用不同的observable来跟踪用户所做的更改?
我正在使用Angular2 RC3和以下版本导入表单:
import {ControlGroup, Validators, FormBuilder} from '@angular/common';
答案 0 :(得分:9)
我认为这就是它的工作原理,但是如果您只想跟踪用户是否进行了更改,则应使用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.');
}
})