Angular2 Как я могу добавить два значения, когда его в * ngFor - PullRequest
0 голосов
/ 28 февраля 2019

Здесь у меня есть textBox в * ngFor = "let abc в 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}}

Здесь я получаю OutPust, как будто я вхожу12 в его AS AS 121

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Причина, по которой это происходит, в том, что значения, поступающие из поля ввода, всегда являются строками.Так что BillofQty [i] - это строка.Использование оператора + в строке приводит к объединению двух значений.Поэтому сначала вам нужно будет преобразовать это значение в число.

Если вам все равно, будет ли он сохранен в виде строки или числа, вы можете просто написать: {{+BillofQty[i]+1}} или {{Number(BillofQty[i])+1}}.Это преобразует ваше строковое значение в BillofQty [i] в ​​число.

Если вы хотите сохранить значение как число напрямую, вам, вероятно, придется разделить ваши [(ngModel)] на [value]="BillofQty[i]" и (ngModelChange)="yourMethod(i)", гдевы конвертируете значение в число в вашем методе, а затем сохраняете его в this.BillofQty [i].

0 голосов
/ 28 февраля 2019

Попробуйте использовать

<td>
   {{BillofQty[i]*1 + 1*1}}
</td>
...