AngularJS指令观察有效性
发布时间:2020-12-17 08:38:26 所属栏目:安全 来源:网络整理
导读:我尝试创建一个指令,当输入字段被标记为无效时,该指令应该执行一些操作。对于这个例子,假设我有一个指令,检查输入是否是一个质数,并且我想创建一个指令,当元素无效时,向该元素添加一个类: input type="text" ng-model="primeNumber" validate-prime
我尝试创建一个指令,当输入字段被标记为无效时,该指令应该执行一些操作。对于这个例子,假设我有一个指令,检查输入是否是一个质数,并且我想创建一个指令,当元素无效时,向该元素添加一个类:
<input type="text" ng-model="primeNumber" validate-prime invalid-add-class="error"> validate-prime使用ng-model上的解析器和格式化程序来更新模型的有效性。 现在我想要invalid-add-class指令在模型无效时添加类“error”,并在有效时删除它。换句话说,它应该监视模型控制器的$ valid(或$ invalid)属性。但是,我不知道如何让这个工作。我试过了: link : function(scope,element,attrs,ctrl) { ctrl.$watch("$valid",function(newVal,oldVal) { //never fired }); } 也许我可以看范围上的一些变量,但我不知道要监视哪个变量。 那么,当模型的有效性改变时,我怎么能得到通知呢?
如果您有一个< form>,添加一个名称(假设’myForm’)和输入的名称(假设myInput)。你应该能够通过以下方式观看:
scope.$watch('myForm.myInput.$valid',function(validity) {}) 如果你没有表格,你可以随时观看一个功能。这条路: scope.$watch(function() { return ctrl.$valid; },function(validity){}); 你可以阅读更多关于表单方法here。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |