我有一个包含一些<input type="text">小部件的表单,并且我注意到使用ControlGroup.valueChanges[ngFormModel]时,在初始数据绑定(bind)时会调用ngControl

这意味着用户认为表格在初始加载时已被更改。

这是正常现象还是我应该使用其他可观察值来跟踪用户所做的更改?

我正在使用Angular2 RC3和以下版本的表单导入:

import {ControlGroup, Validators, FormBuilder} from '@angular/common';

最佳答案

我认为这就是它的工作方式,但是,如果您只想跟踪用户是否进行了更改,则应将ControlGroup.dirtyformControl.dirtychanges 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/

10-11 12:11