首页 > 解决方案 > Angular2 在 *ngFor 中如何添加两个值

问题描述

这里我在 *ngFor="let abc in Apple;let i = index" 中有文本框

<tr  *ngFor="let abc in Apple;let i = index">

<td>        <input matInput  name="UnitofPrice"  [(ngModel)] = "BillofQty[i]">
</td>
<td>{{BillofQty[i]+1}}

在这里,我正在走出去,就像我进入 12 它即将到来的 121

标签: angularangular2-forms

解决方案


发生这种情况的原因是来自输入字段的值始终是字符串。所以 BillofQty[i] 是一个字符串。并且在字符串上使用 + 运算符会导致连接两个值。因此,您首先需要将此值转换为数字。

如果您不关心它是保存为字符串还是数字,您可以简单地输入: {{+BillofQty[i]+1}}{{Number(BillofQty[i])+1}}. 这会将 BillofQty[i] 中的字符串值转换为数字。

如果您想将值直接保存为数字,您可能必须将您的值拆分[(ngModel)]为您的方法中将值转换为数字的位置[value]="BillofQty[i]"(ngModelChange)="yourMethod(i)"位置,然后将其保存到 this.BillofQty[i]。


推荐阅读