0

我有这个指令 - 它在 Angular 上启用 jQuery 自动完成

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 中,在自动完成之前触发。我不想要那个。

如何修改此代码,以便 Angular在ng-change 指令之前触发自动完成指令?它与设置优先级有关,但我不知道如何。

4

1 回答 1

2

您希望为自定义指令设置优先级。$compile 将被调用,遍历 DOM 并获取所有指令。然后它使用优先级对指令进行排序,然后链接它们。

http://www.ng-newsletter.com/posts/directives.html

http://docs.angularjs.org/guide/directive

于 2013-10-01T21:11:48.843 回答