Я использую угловую форму valueChanges, чтобы подписаться на изменения в форме. Но я не могу сказать, какой элемент вызвал изменение данных, которые я получаю из подписки valueChanges. Есть ли способ обнаружить это?
Подписка на событие и использование элементов управления для получения единого источника контроля.
this.termSheetForm.valueChanges
.subscribe(x => {
if (this.termSheetForm.dirty) {
console.log('emitted changes ', x); // cannot determined what field was touched and check if it is required // HELP
const tempCtrl: any[] = Object.entries(this.termSheetForm.controls);
tempCtrl.forEach((ctrl , index) => {
const controlValidator: any = this.termSheetForm.control.get(ctrl[0]).validator ? this.termSheetForm.control.get(ctrl[0]).validator({} as AbstractControl) : null;
if (controlValidator && controlValidator.required) {
console.log('required ' , controlValidator);
//currently this gives me all required field
}
});
}
});