我目前正在使用Angular 4 with ionic来构建输入表单。我有一个场景,我希望输入字段自动将输入的值更改为更改时的2个小数位,例如用户输入5.132变为5.13。
到目前为止,我定义了以下输入:
<ion-input type="number" [ngModel]="printData.sale" (ngModelChange)="updateSaleValue($event)" step="0.01"
name="sale" required lessThan="original" extraLessThan="extraSale" reverse2="true" min="0.01" #sale="ngModel"></ion-input>
updateSaleValue函数将一个简单的舍入函数运行到两个小数位,并将结果赋给printData.sale。
当我第一次触发更改时测试它时,函数按预期运行(值四舍五入为2 dp,页面中的输入值显示输出)。
但是,任何后续更改都会触发updateSaleValue函数(我可以在添加控制台日志时看到),但输入元素中显示的相应值不会更新,即。 5.132仍为5.132。
有人能够解释为什么会这样,并建议我如何让它发挥作用?
根据要求,控制器功能如下
public updateSaleValue(string: price) {
console.log('I'm here');
this.printData.sale = formatFunction();
}