【发布时间】:2016-11-06 23:32:06
【问题描述】:
在此处查看示例:https://jsfiddle.net/codefalling/u2mn764x/1/
<div ng-app>
<div ng-controller="TodoCtrl">
<input type="number" ng-model="value" size="30" >
<input type="button" ng-click="change()" class="btn-primary" value="TEST" >
</div>
</div>
function TodoCtrl($scope) {
$scope.change = function() {
$scope.value = null
}
}
当我在数字输入中输入10时,点击按钮,它变成了空。
但是,当我在数字输入中键入独立的 e 或 .,然后单击按钮时,没有任何反应。但是$scope.value = 123仍然有效。
那么,为什么在这种情况下视图没有得到更新(空)?
补充一下,还有什么办法可以清空吗?
【问题讨论】:
-
@varit05 这不是答案。我的问题不是为什么可以输入
e,而是当我将$scope.value设置为null 并使用独立e等非法输入时,为什么角度没有更新视图 -
当您输入 e 或 .它仍然不完整并且不代表控件的有效值,并且看起来浏览器甚至不会将此值提供给您的控件。看看这个更新的小提琴jsfiddle.net/u2mn764x/2
-
当你输入
.时,模型已经是null。 -
@zeroflagL 你明白了!那么我应该通过 DOM API 清空非法输入吗?
标签: javascript angularjs web frontend