2016-07-10 2 views
5

У меня есть форма с <input type="text"> виджетами, и я заметил, что ControlGroup.valueChanges вызывается при первоначальной привязке данных при использовании и ngControl.Angular2 ControlGroup valueChanges on initial bind

Это означает, что пользователь считает, что форма была изменена при начальной загрузке.

Является ли это обычным я или должен использовать другой наблюдаемый для отслеживания изменений, сделанных пользователем?

Я использую Angular2 RC3 и импортируют версии для форм:

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

не могли бы вы отправить свой пакет.json –

ответ

8

Я думаю, что это просто, как это работает, но если вы просто хотите, чтобы отслеживать, если изменения сделаны пользователем, вы должны использовать ControlGroup.dirty или formControl.dirty с changes Наблюдаемый.

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.'); 
} 

}) 
Смежные вопросы