我的html中有这个:
<input class="ui-g-4 right" [ngModel]="product.unitprice | number:'1.2-2'" (ngModelChange)="updateUnitPrice(i,$event);sumTotal(i)">
问题是当我输入类似这样的东西3412输入我得到3412,00但在控制台我得到一个错误
InvalidPipeArgument: '3412,00' for pipe 'DecimalPipe'
我的方法:
sumTotal(i,e){
this.products[i].itemamount = (this.products[i].quantity * parseFloat(this.products[i].unitprice.toLocaleString())) - parseInt(this.products[i].discountamount ? this.products[i].discountamount.toLocaleString() : '0');
}
updateUnitPrice(i,e){
this.products[i].unitprice = +e;
}
答案 0 :(得分:0)
应该是 [ngModel]
<input class="ui-g-4 right" [(ngModel)]="product.unitprice | number:'1.2-2'" (ngModelChange)="updateUnitPrice(i,$event);sumTotal(i)">
<强> DEMO
强>
答案 1 :(得分:0)
你的模型product.unitprice
需要有一个有效的数字3412,00,你需要格式化你的输入,所以它是一个有效的十进制数,例如3412.00
另一种选择是将您的字符串转换为类似Number(product.unitprice)
也可能是您添加e
这应该是e.target.value
来获取实际值。