在 angularjs (1.6.1) 中使用该类型的输入,为 9.03
到 9.05
之间的值提供 undefined
。使用其他值时会重现此问题,其中包括 9.62
、9.63
、17.31
。
<input type="number" step="0.01" data-ng-model="$ctrl.numericValue" />
这fiddle重现问题。只需在数字输入中单击向上即可。
在 linux mint 18 下的 firefox 和 chromium 上测试。
它似乎链接到 "step"
属性。如果设置为 "0.001"
就没有问题。但是我在这个应用程序中威胁金钱,所以需要 2 位小数。
注意:如果值最初通过 data-numeric-value
设置为 9.03
,则它不是 未定义
.
这个错误有什么解决方法吗?
编辑
已更新 fiddle显示 step="0.01"
与 step="0.001"
编辑2 我做了一个plunkr在填写错误报告时,发现错误已在“快照”版本中得到纠正,女巫是1.6.2。但是目前无法通过 angularjs 站点下载此版本。
最佳答案
这似乎是 Angular 中的一个错误。使用 Angular 1.6.0,会发生同样的问题。如果你使用 Angular 1.5.9,它似乎工作正常。这两个版本之间的某些东西导致了这个问题,并且尚未在 1.6.1 中找到或解决。
所以最好的做法是向 Angular 团队提出错误。
如果可能,您自己的项目的短期解决方案是回滚到 Angular 1.5.9。
我已经在 Windows 7 的 Firefox 和 Chrome 上对其进行了测试以获得这些结果。
关于javascript - 具有 0.01 个步骤的数字输入为 angularjs 中的某些值提供未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41592964/