javascript - 具有 0.01 个步骤的数字输入为 angularjs 中的某些值提供未定义

标签 javascript angularjs

在 angularjs (1.6.1) 中使用该类型的输入,为 9.039.05 之间的值提供 undefined 。使用其他值时会重现此问题,其中包括 9.629.6317.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/

相关文章:

javascript - Typescript 中的 Node.js 模块

javascript - 使用 JavaScript 将 csv 加载到字典数组中

javascript - 使用 Canvas 中的形状对线条进行动画处理

javascript - 如果依赖项留空,应用程序将无法工作;如果依赖项完全删除,应用程序将工作

javascript - AngularJs 指令在更改时获取单选按钮 ng-model 值

javascript - 用于导航用户的 Angular 三元运算符

javascript - 无法在 Restangular 中将 `all()` 与 `getList()` 一起使用?

javascript - 无法使用 Angular ng-repeat 和 jquery 在 HTML 表中显示行

angularjs - 有条件地在 ng-repeat 中添加行

javascript - 传输 `request` 请求的正确方法是什么?