刚更新到Angular 1.3,我的“大写”指令不像以前那样工作。
这里是我的指令:
.directive('capitalize', function(){
return {
restrict :'A',
require:'ngModel',
link : function(scope, elt, attrs, modelCtrl){
modelCtrl.$parsers.push(function(value){
var up = value.toUpperCase();
modelCtrl.$setViewValue(up);
modelCtrl.$render();
return up;
})
}
}
})
当我使用它与NG-最大长度指令验证输入字段,该行为是很奇怪......
<input capitalize ng-model="c.myField1" ng-maxlength="3" name="myField1" />
如果输入3个以上的字符,输入字段将被清除。为什么?
我不明白为什么,你想帮我解决这个问题吗?
很明显,在我从1.3rc1更新之前就没问题。
这里是小提琴例如:http://fiddle.jshell.net/dctf1p8e/4/
我建议只删除'ng-maxlength'并将这个逻辑移到解析器,就像这样:'return up.substring(0,6)'; – incarnate 2014-12-10 17:00:30