如何在angular中获得keyup的元素和?
我在formgroup中有N个输入,我需要得到总和:如何在angular中获得keyup的元素和?,angular,typescript,sum,Angular,Typescript,Sum,我在formgroup中有N个输入,我需要得到总和: <input (keyup)="sum($event)" type="text" name="estoque_variacao{{i}}" class="form-control" id="estoque_variacao{{i}}" formControlName="estoque_variacao"> 当我按下22键时,我只得到: 二, 我已经试过了: sum += parseFloat(valor.key); 但我得到了
<input (keyup)="sum($event)" type="text" name="estoque_variacao{{i}}" class="form-control" id="estoque_variacao{{i}}" formControlName="estoque_variacao">
当我按下22键时,我只得到:
二,
我已经试过了:
sum += parseFloat(valor.key);
但我得到了同样的回答
我该怎么做
我需要这样的东西,但在angular/typescript中:
sum(value){
let sum;
if(sum == null){
sum = 0;
}
sum = +Number(value.key);
}
keyup事件只保留在keyup中输入的内容,它不知道以前的keyup事件。但是,您可以通过调用formControl.value方法并汇总表单控件来获取每个表单控件的输入。您当前的实现只能处理一个控件,但是您需要汇总所有动态生成的控件 按照步骤操作 1.在ts文件中 创建一个可以保存所有控件模型的对象
public controls = {};
2.在html中
就这些 如何获得即时formcontrol.value更改而不使用keyup?您可以随时订阅对form control值的更改。我如何做到这一点?@RenaotPLS这是一篇关于此主题的好文章:在第一次输入中我输入:13,在第二次输入中我输入13,如果我在全局和中声明和,我的响应是01313:number=0;sum{Object.keyshis.controls.mapkey=>{this.sum+=this.controls[key];};console.logthis.sum;}我收到:01131313更新了答案
<input [(ngModel)]="controls[i]" (keyup)="sum($event)" type="text" name="estoque_variacao{{i}}" class="form-control" id="estoque_variacao{{i}}" formControlName="estoque_variacao">
let sum = 0;
Object.keys(this.controls).map(key => {
sum += +this.controls[key];
});
console.log(sum);