gpt4 book ai didi

javascript - 如何通过 javascript 设置 ngModelOptions?

转载 作者:行者123 更新时间:2023-11-29 19:29:53 26 4
gpt4 key购买 nike

我正在创建一个自定义指令,这个指令需要句柄 ngModelOptions元素,也许我可以用 jQuery 来改变元素 html选择器,但我想知道我是否可以通过 javascript 做到这一点为了更好的一致性


更新 1

因为我需要设置 ngModelOptions="{updateOn:'blur'}对于我表单中的所有输入

所以我想创建一个指令来执行此操作,可能是 <input type='text' updateBlur/>

我想知道是否可以用代码设置这个选项,可能是这个

myElement.attrs.ngModelOptions.updateOn = "blur default";

最佳答案

你必须以“Angular 方式”来做,所以你应该在你的指令中做这样的事情:

angular.module("myApp").directive('myDirective', function($compile){
link: function(scope, element, attrs) {
scope.$watch( 'scope.someValue', function(){
element.attr('ng-model-options', "new value");
$compile(element.contents())(scope);
});

}
});

通过这种方式,您可以检查 scope.someValue 的更改,并将新值应用于指令。您不能使用 jquery 执行此操作,因为 angularJS 不会获得更改。

但是,使用这个 $compile(element.contents())(scope); 就可以了。

编辑:$scope.apply(),应该不起作用。因为有必要强制进行摘要循环(例如将更多元素添加到数组中)。在这里你改变了结构,所以你需要重新编译它

关于javascript - 如何通过 javascript 设置 ngModelOptions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28584989/

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