У меня есть некоторые формы, сгенерированные FormGroup
.
class FormGroupCustom {
form: FormGroup;
}
let forms: FormGroupCustom[] = [];
for(let i = 0; i <= 10; i++) {
this.forms.push({"formName": i, "form": new FormGroup()});
}
Как я могу уведомить formName: 1
из массива this.forms
, что любое поле было изменено с formName: 2
.
Я пытался применить шаблон Observer, потому что мне не нужно использовать реактивные вложенные формы.
Мое решение:
class Notify {
notifyChange(formName: string, valueField: any) {
// FIND form in array forms by formName
}
}
Затем примените ng-change
кконкретный элемент, если форма похожа на:
<input type="text" (ngChange)="change('formName1', 'value')"
change(formName: string, value: any) {
let notify = new Notify();
notify.notifyChange(formName, value);
}
Таким образом, notifyChange
может найти форму в массиве, чем выполнять действия над определенным полем в этой форме