繁体   English   中英

如何控制Angular指令的评估顺序?

[英]How do I control the evaluation order of Angular directives?

我有这个指令 - 它启用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指令之前触发autocomplete指令。

适用于IE以外的所有浏览器。 在IE ng-change中,在自动完成之前触发。 我不希望这样。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM