加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读