[英]angular.js: reference the current model by short variable name
假设我使用长表达式(例如
<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'],
并使用某些关键字或分配的变量名称绑定到当前引用的模型?
为什么不通过controller
将其暴露出来,如下所示:
$scope.cssCategory = cssRules.categories['sd-text-highlight-color']
[UPDATE]
关于ng-init
替代(来自Angular文档):
ngInit
的唯一适当用法是为ngInit
特殊属性添加ngRepeat
,如下面的演示所示。 除了这种情况,您应该使用控制器而不是ngInit
来初始化作用域上的值。
更多信息 。
这可能是无法与ui-sortable
配合使用的原因,因此我认为应该避免这种方法。
尝试使用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 )"
>
希望这可以帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.