首页 > 解决方案 > 订阅表单字段的特定列表并在 1 更改时访问其所有值

问题描述

我有一个使用 ngrx 的 Angular 应用程序,并且有一组表单字段。我需要订阅所有这些,所以当它们发生变化时,我可以执行一个操作。我需要知道那个特定时刻所有领域的错误。

// 订阅列表中每个字段的状态变化

for (const field of this.fields) {
    this.form.controls[field.id].statusChanges
         .subscribe((status) => {
              // Accessing field.id from here seems to work but I don't understand why
              const thisFieldErrors = this.form.controls[field.id].errors;
              // Other fields' errors??
         });

}

我曾想过使用 withLatestFrom ,但我不知道如何传递每个字段状态的订阅列表。

标签: angularngrx

解决方案


我认为你需要的是:

this.form.valueChanges // <---- get fires when any field inside your form is changed

推荐阅读