2017-02-24 54 views
0

我怎样才能从角度2动态输入总和,没有想法实现这一点。由于我怎样才能从角度2动态输入总和

enter image description here

//html component 
<md-input-container style="width: 80px;"> 
       <input md-input class="debit" formControlName="debit" [(ngModel)]="debit[i]"> 
       </md-input-container> 
+0

提供代码请 –

+0

@ŌkamiXOukarin其实我没有的功能呢,u能帮助我这个实现的想法。 –

+0

我有一个例子在这里与总和功能 https://jsfiddle.net/g6xp1r52/ –

回答

0

我认为你正在使用活性形式的控制,那么所有的表单控件是在表单标签必须在表单实例的值,如下

<form [formGroup]="myForm"> 
      <input type="number" formControlName="value1"/> 
      <input type="number" formControlName="value2"/> 
</form> 

和从表单构建器类创建表单

this.myForm = this.fb.group({ 
      value1: [5, Validators.required], 
      value2: [2, Validators.required] 
}); 

和您的表单实例myForm将包含所有控件的更新值在属性myForm.value并根据这个例子将包含{ "value1": 2, "value2": 5 }您要为总只使用该属性的对象,并打印像

sum = Object.keys(this.myForm.value).reduce((prev, curr) => { 
    return prev + this.myForm.value[curr] 
}, 0); 
+0

输入是动态的。 –

+0

没关系。您的表单实例始终包含使用该表单注册的输入 –

1

总和我想你是动态创建借记文本,你也使用ngModel,这样你就可以,总的输入文本 中的.ts文件借记 的每个输入文本做这样

(onChange) = "findSum()" 并设置[(ngModel)]="totalVal"

findSum(){sum= 0; 
for(data of debit){total = total + data;} 
totlaVal = total; 
}