12

AngularJS で jQuery-UI タブを使用しようとしています。

こちらの例をご覧ください

問題はjQuery("#tabs").tabs();、コントローラーを呼び出すと、何かを「タブ化」するために必要なものの「半分」を接続しているように見えることです。

アイデア?

4

1 に答える 1

14

コントローラーで DOM 操作を行うべきではありません - まったく。むしろ、ディレクティブを使用する必要があります。

私は自分で使用する一連のディレクティブを開発しています: https://github.com/ganarajpr/Angular-UI-Components

哲学は、この単純なコードをディレクティブ ファイルにドロップすることです。

.directive('maketab',function() {
        return function(scope, elm, attrs) {
            elm.tabs({
                show: function(event, ui) {
                        scope.$broadcast("tabChanged",ui);
                }
            });
        };
    })

次に、タブに変換したい div で:

<div id="mytab" maketab>

<ul>
....
</ul>

<div>...</div>
...
</div>

div とその子構造は、JQuery UI が要求する内容に準拠する必要があることに注意してください。

より堅牢な例とその他のコンポーネントについては、github リポジトリを確認してください。

于 2012-05-31T10:18:06.423 に答える