gpt4 book ai didi

angularjs - 有什么方法可以使用指令动态添加 ng-model-options 吗?

转载 作者:行者123 更新时间:2023-12-01 12:28:45 26 4
gpt4 key购买 nike

我想在编译我的指令时添加这个选项。

我一直在尝试:

HTML

<input ng-model="myValue" my-directive>

JS

angular
.module('myApp')
.directive('myDirective', directive);

directive.$inject = ['$compile'];
function directive($compile){
var ddo = {
restrict: 'A',
require: 'ngModel',
link: {pre: prelinkFn}
};
return ddo;

function prelinkFn(scope, element, attrs){

attr['ngModelOptions'] = { updateOn: 'blur' };

//I think that in this function, when i compile the element, the attributes
//are compiled too, but this is not working
$compile(element)(scope);
}
}

我的问题:

  1. 我做错了什么?
  2. 还有其他方法可以为 ng-model 赋值绑定(bind)“blur”选项吗?

最佳答案

你应该使用 ngModelCtrl.$options:

app.directive("myDirective", function($compile){
return {
require: 'ngModel',
link: function(scope, iElem, iAttrs, ngModelCtrl) {
ngModelCtrl.$options = {
updateOn: 'blur',
updateOnDefault: true,
debounce: {
'blur': 1000,
'default': 1000
}
}
// Then do what you want... :)
}
}
});

关于angularjs - 有什么方法可以使用指令动态添加 ng-model-options 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36818758/

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