繁体   English   中英

angular.js:通过简短的变量名引用当前模型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM