我有这个指令 - 它启用Angular上的jQuery Autocomplete
var myModule = angular.module('MyModule', []).directive('autoComplete', function($timeout) {
return function(scope, iElement, iAttrs) {
iElement.autocomplete({
source: scope[iAttrs.uiItems],
select: function() {
$timeout(function() {
iElement.trigger('input');
}, 0);
}
});
};
});
我有另一个功能
$scope.copy_row = function(index) {
alert($scope.options[index].my_value);
}
这由ng-change指令触发。
问题是 - 我希望自动完成指令在 ng-change指令之前触发。
在IE以外的所有浏览器上都能正常工作。在IE ng-change中,在自动完成之前触发。我不希望这样。
如何修改此代码,以便在 ng-change指令之前,angular会触发自动完成指令?它与设置优先级有关,但我不知道如何。
答案 0 :(得分:2)
您希望在自定义指令上设置优先级。将调用$ compile,遍历DOM并获取所有指令。然后,它使用优先级来对指令进行排序,然后将它们链接起来。