Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度形式的控件,如何得到摘要?_Angular_Typescript_Angular Reactive Forms_Angular Forms - Fatal编程技术网

Angular 角度形式的控件,如何得到摘要?

Angular 角度形式的控件,如何得到摘要?,angular,typescript,angular-reactive-forms,angular-forms,Angular,Typescript,Angular Reactive Forms,Angular Forms,我有一个FormGroup,其中包含可添加或删除的产品formArray动态控件: FormGroup { controls { products (FormArray) { 0 : {summary.value: 5}... 1 : {summary.value: 8}.. there can be N of these controls... } } } 预期汇总=5+8=13 我想得到所有summary.value并求和。我该怎么做 我已经

我有一个FormGroup,其中包含可添加或删除的产品formArray动态控件:

FormGroup {
  controls {
    products (FormArray) {
      0 : {summary.value: 5}...
      1 : {summary.value: 8}..
there can be N of these controls...
    }
  }
}
预期汇总=5+8=13

我想得到所有summary.value并求和。我该怎么做

我已经做了但没有按预期工作:

   calculateAllSummary(formGroup: FormGroup) {
      Object.values(formGroup.controls.products['controls']).forEach((value: FormControl) => {

                let summaryControl: FormControl = value['controls'].summary;
                this.summarySubscription = summaryControl.valueChanges.subscribe(val => {
                    if(this.checkIfValuesArentTheSame(val) == true){
                        let price = val;
                        if (price != null && typeof price == "string") {


                price = price.split(',').join('');
                    }
                    let numericValue = 0 + Number(price);
                    this.summaryValue = this.dp.transform(numericValue, '2.2-5');

                };
            },
            (error) => {
                console.log(error)
            },
            );
    });
}

我的函数的问题是,每当我在另一个产品中写入摘要时,它都会刷新到另一个产品的摘要编号,但我想将其添加到最后一个摘要控制值中。我知道这是因为这一行:让numericValue=0+Numberprice,但我不知道如何用另一种方法来实现它。

减少对象的条目

常量formValue={ 总结一:“5”, 总结二:“8”, 一些随机字段排除在外:“LOL” }; const totalSummary=对象 .entriesformValue .filter[key]=>key.toLowerCase.包括“摘要” .reducep,[,v]=>p+=+v,0;
console.logtotalSummary;请提供您已经尝试过的其他信息。堆栈溢出的主要目标是帮助人们在无法解决问题时解除阻塞。这不是提供现成的解决方案。将我的尝试添加到问题中,检查它。我有一个旧的stackblitz,它似乎符合您正在寻找的路线-请在使用之前检查我将尝试您的示例