gpt4 book ai didi

angularjs - AngularJS指令监视有效性

转载 作者:行者123 更新时间:2023-12-03 09:00:32 25 4
gpt4 key购买 nike

我尝试创建一个指令,当输入字段标记为无效时,该指令应执行一些操作。对于此示例,假设我有一条指令检查输入是否为素数,并且我想创建一条指令,在无效时将一个类添加到元素:

<input type="text" ng-model="primeNumber" validate-prime invalid-add-class="error">

validate-prime使用ng-model上的解析器和格式化程序来更新模型的有效性。

现在,我希望invalid-add-class指令在模型无效时添加“错误”类,并在有效时将其删除。换句话说,它应该监视模型 Controller 的$ valid(或$ invalid)属性。但是,我不知道如何使它工作。我试过了:
link : function(scope, element, attrs, ctrl) {
ctrl.$watch("$valid", function(newVal, oldVal) {
//never fired
});
}

也许我可以观察范围内的一些变量,但是我不知道要观察哪个变量。

那么,当模型的有效性发生变化时,如何通知我?

最佳答案

如果您有<form>,请向其添加一个name(假设为'myForm'),并在输入中添加一个name(假设为myInput)。您应该可以通过以下方式对$watch进行编码:

scope.$watch('myForm.myInput.$valid', function(validity) {})

如果没有 form,则可以随时观看函数。这条路:

scope.$watch(function() { return ctrl.$valid; }, function(validity){});

您可以阅读有关表单方法 here的更多信息。

关于angularjs - AngularJS指令监视有效性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15899389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com