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 ディレクティブの前に autocomplete ディレクティブを起動するように、このコードを変更するにはどうすればよいですか? 優先度の設定と関係がありますが、方法がわかりません。

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 に答える