无法清除输入视图值

时间:2017-05-15 16:02:30

标签: javascript html angularjs

我在输入字段中使用pattern="[0-9]{0,7}"属性,如果输入的值不匹配,则无法使用angularJs清除值。我知道角度的视图/模型,并尝试了几种方式,如

$scope.model = {};

$scope.model = null; // $scope.model = {}; $scope.myForm.$setPristine();

这是我的plnkr

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

尝试:

 $scope.clear = function() {
     $scope.model.value1 = '';
 };

答案 1 :(得分:0)

您无法清除,因为您的模式会对其进行角度验证。如果它与模式不匹配,那么您的模型将不会更新,这就是为什么清除它之后什么也不做,因为它已经未定义。

使用ng-pattern,$ setPristine()将重置该值但不会触发默认的浏览器验证(红色边框,输入周围的错误消息),因此您必须自己触发它。