0

タイトルとして、angularjsディレクティブでオートコンプリートを適用しようとすると。プラグイン自体は機能しますが、ディレクティブが初期化された後の残りのコードは機能しません。エラーは表示されません。

これがオンラインテストです。

http://jsbin.com/ufihip/4

4

1 に答える 1

1

これは私にはハックのように思えますが、おそらく問題ないと思います。これは、SOで別の質問をしているときに私が拾ったものです(実際にはcharlieftlからのヒントでした)。

ディレクティブ内でDOM操作を行う場合は、すべてが初期化された後で行うのが最適です(readyjQueryのコールバックのようなものです)。これを行うには、setTimeoutまたはを使用できます$timeout(これは何らかの理由で例では機能しません)。

ディレクティブの修正は次のとおりです。

myApp.directive('uicomplete', function($http) {
    return function(scope, element, attrs) {
        setTimeout(function() {
            element.autocomplete({
                source: ["ActionScript","AppleScript","Asp"]
            });
        }, 1);
    }
});

そしてコードで:http://jsbin.com/ufihip/7/

于 2013-03-25T04:11:07.303 に答える