我需要使用ng-class添加两个类,我需要通过一个函数获取另一个类,我需要通过一个表达式获取 - 下面是我正在使用的代码,但得到一些语法错误 -
<div class="field-icon" ng-class="getFieldClass(entry.entry_type_id) , 'used': entry_map[entry.guid] > 0" ></div>
如果可以一起使用函数和表达式,那么正确的语法是什么。
答案 0 :(得分:8)
你的语法错误ng-class
,它应该是JSON格式,如ng-class="{'used': expression2 }"
,表达式将返回Boolean
,因为该类将被添加到类{{1}中价值。
当您的attribute
方法返回类名时,您可以在getFieldClass
方法中移动两个类逻辑
<强>标记强>
getFieldClass
<强>代码强>
<div class="field-icon"
ng-class="getFieldClass(entry)" ></div>
答案 1 :(得分:6)
您可以在数组中编写函数和表达式。
示例:
<div class="field-icon" ng-class="[getFieldClass(entry.entry_type_id), {'used':entry_map[entry.guid] > 0}]"></div>
答案 2 :(得分:-1)
你应该可以这样做:
<div class="field-icon" ng-class="getClasses(entry)"></div>
您的方法如下:
$scope.getClasses = function(entry) {
var classes = {};
if (entry_map[entry.guid] > 0)
classes['used'] = true;
if (various-logic)
classes['custom-class-one'] = true;
else if (various-logic)
classes['custom-class-two'] = true;
//etc
return classes;
}