use*_*296 5 javascript numeric getter-setter angularjs
我在chrome(47)中遇到问题,当使用类型编号的输入结合ng-model-options ="{getterSetter:true}"时,不允许在字段中输入十进制数字.
使用getterSetter :(不工作)
<input ng-model="amount" ng-model-options="{ getterSetter: true }" step="0.01" type="number" >
Run Code Online (Sandbox Code Playgroud)
没有getterSetter :(有效)
<input ng-model="_amount" step="0.01" type="number">
Run Code Online (Sandbox Code Playgroud)
请参阅plunker进行演示 http://plnkr.co/edit/qu8UXCUtkJaFwjgGE1NX?p=preview
发生的情况是,当您声明一个getterSetter函数时,每次修改输入值时都会调用该函数。
所以当你写“12”时。该函数正在被调用,但这不是一个有效的数字,因此它取出了“.”。用于提供有效值。
尝试输入“123”,然后添加“.”。在诸如“12.3”之类的数字之间有效!
编辑
我已经修复了你的代码,现在它可以工作了。
尝试这个:
$scope.amount = function(newValue) {
return arguments.length ? ($scope._amount = newValue) : $scope._amount;
};
Run Code Online (Sandbox Code Playgroud)
这是一个分叉的plunkr:http://plnkr.co/edit/xZtZLH5He4ZnjkqhFApY ?p=preview
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |