我有一个表单,每当控件输入值发生变化时都会进行计算。

这是我的 form_group 看起来像:

form_group = this.fb.group({
    control1: [],
    control2: [],
    control3: [],
    ...
    control10: [],
});

我可以通过 form_group.valueChanges observable 检测所有控件值的变化,并进行计算。但是我想排除一些不需要执行此类操作的控件。

但是无论如何如何不检测特定控件上的更改?

编写 form_group.get('controlN').valueChanges 并在那里进行计算是非常繁重的。我的表单中有 5 个或更多控件。

最佳答案

您可以像这样将单个valueChanges Observables合并为一个:

Observable.merge(
    [ control1.valueChanges,
      control2.valueChanges ]
  ).subscribe(() => {
    // do your computation
  });

10-04 11:23