计算所有角度无功输入的总量

时间:2018-06-14 19:19:24

标签: angular typescript angular-reactive-forms

我有反应形式,只有多个数字输入。我使用函数修改更改时的每个输入值:

initsForm() {
  this.form = this.fb.group({
                coffee: ['0', [
                 Validators.min(0)
                ]],
                tea: ['0', [
                 Validators.min(0)
               ]]
              })

  this.countAmount();
}



countAmount() {
      this.form.valueChanges.subscribe(val => {
          Object.keys(this.form.controls).forEach(key => {
          console.log((this.form.get(key).value * 1.75))
        })
      })
    }

此控制台日志修改后的每个输入的修改值,但我需要控制台日志所有输入的总量。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我应该使用reduce方法:

  countAmount() {
    this.form.valueChanges.subscribe(val => {
      let res = [];

      Object.keys(this.form.controls).forEach(key => {
        res.push(this.form.get(key).value * this.counters[key])
      });

      res = res.reduce((prev, next) => prev + next);

      this.totalAmount += Number(res);
    })
  }