假设我使用长表达式(例如
)绑定到模型 <ul class="container" ui-sortable ng-model="cssRules.categories['sd-text-highlight- color']" ng-class="{selected: cssRules.categories['sd-text-highlight-color'] == selectedCategory}" ng-click="selectCategory(cssRules.categories['sd-text-highlight-color'])">
有没有办法不重复cssRules.categories ['sd-text-highlight-color'],
并使用某个关键字或指定的变量名称绑定到当前引用的模型?
答案 0 :(得分:2)
为什么不通过controller
之类的方式公开它:
$scope.cssCategory = cssRules.categories['sd-text-highlight-color']
<强> [UPDATE] 强>
关于ng-init
替代方案(来自Angular文档):
唯一合适的
ngInit
用于别名特殊属性ngRepeat
的{{1}},如下面的演示所示。除了这种情况,你应该 使用控制器而不是ngInit
来初始化范围上的值。
这可能是因为它与ui-sortable
不能很好地工作,所以我想应该避免使用这种方法。
答案 1 :(得分:2)
尝试使用ng-init:
<ul
class="container"
ui-sortable
ng-init="mymodel = cssRules.categories['sd-text-highlight-color']"
ng-model=""
ng-class="{selected: mymodel == selectedCategory}"
ng-click="selectCategory(mymodel )"
>
希望这有帮助