0

我在 Angular 应用程序中使用 JQuery UI。我注意到我对每个指令都重复了相同的模式:使用单个复杂对象调用 JQuery UI 函数进行初始化。我发现使用存根指令更容易,而不是为每个组件编写单独的指令。这可能不是一个长期的解决方案,但它现在有效。

有没有更好的方法来注入属性以使标记更具可读性,同时仍然保持指令的通用性?具体来说,我可以避免使用 JSON 字符串,以便它读起来更像是一个普通的角度指令。

现有线路:

<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>

这是我的通用 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>

Plunker:http ://plnkr.co/edit/yY1Lc2?p=preview

于 2013-09-27T14:02:50.393 回答