0

Angular アプリケーションで JQuery UI を使用しています。各ディレクティブで同じパターンを繰り返していることに気付きました。初期化のために単一の複雑なオブジェクトで JQuery UI 関数を呼び出します。コンポーネントごとに個別のディレクティブを記述するよりも、スタブ ディレクティブを使用する方が簡単であることがわかりました。これは長期的な解決策ではないかもしれませんが、今のところうまくいきます。

ディレクティブの一般的な性質を維持しながら、マークアップを読みやすくするために属性を注入するより良い方法はありますか? 具体的には、JSON 文字列の使用を避けて、通常の angular ディレクティブのように読めるようにすることはできますか?

既存の行:

<button jquiw-control='{"control":"button","options":{"label":"Hello","icons": {"primary": "ui-icon-gear","secondary": "ui-icon-triangle-1-s"}}}' ng-click="jump()"></button>

<button jquiw-control="button" jquiw-button-label="Hello" jquiw-button-icons-primary= "ui-icon-gear" jquiw-button-icons-secondary="ui-icon-triangle-1-s" ng-click="jump()"></button>

これは、私の Generic ui ディレクティブの実例です。http://plnkr.co/edit/eRoOeq

4

1 に答える 1

1

少なくとも、このようにハードコードされた JSON をコントローラーに入れることができます

$scope.config = {
    "control": "button",
        "options": {
        "label": "Hello",
            "icons": {
            "primary": "ui-icon-gear",
            "secondary": "ui-icon-triangle-1-s"
        }
    }
};

次に、テンプレートを次のように変更します

<button jquiw-control='{{config}}' ng-click="jump()"></button>

プランカー: http://plnkr.co/edit/yY1Lc2?p=preview

于 2013-09-27T14:02:50.393 に答える