我需要使用纳克级增加两个班,一个班,我通过一个函数获取另一个我需要一个表达式来获得 - 下面是代码,我使用的,但得到一些语法错误 -NG-类功能和表达
<div class="field-icon" ng-class="getFieldClass(entry.entry_type_id) , 'used': entry_map[entry.guid] > 0" ></div>
如果可以一起使用函数和表达式,那么正确的语法是什么?
我需要使用纳克级增加两个班,一个班,我通过一个函数获取另一个我需要一个表达式来获得 - 下面是代码,我使用的,但得到一些语法错误 -NG-类功能和表达
<div class="field-icon" ng-class="getFieldClass(entry.entry_type_id) , 'used': entry_map[entry.guid] > 0" ></div>
如果可以一起使用函数和表达式,那么正确的语法是什么?
你有错ng-class
语法,应该是JSON格式一样ng-class="{'used': expression2 }"
,表达将在该类的基础上返回Boolean
将被添加或从类attribute
值删除。
当你的getFieldClass
方法返回的类名,那么你可以在getFieldClass
方法改变你的两个类逻辑
标记
<div class="field-icon"
ng-class="getFieldClass(entry)" ></div>
代码
$scope.getFieldClass = function(entry){
//use entry.entry_type_id here to decide class which is first
//'text-box-icon' class has been selected on some condition based on entry.entry_type_id
return {"text-box-icon": true, 'used': $scope.entry_map[entry.guid] > 0};
}
正在恢复已经基于entry_type_id –
一些类@VivekPanday看看更新的解决方案 –
你应该能够做到这样的事情:
<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;
}
你可以写在阵列中的两个功能和表达。
例子:
<div class="field-icon" ng-class="[getFieldClass(entry.entry_type_id), {'used':entry_map[entry.guid] > 0}]"></div>
活生生的例子在这里:https://plnkr.co/edit/OWfkAwJiombrehiS7p9o?p=preview
我不认为你的语法是正确的,需要包装的JSON的表达,然后摆阵。如:[getFieldClass(entry.entry_type_id),{'used':entry_map [entry.guid]> 0}]' – Dong
是的。我错过了。感谢您指出。我还更新了现场示例 – rajagopalx
你需要用它在大括号纳克级=“{getFieldClass(entry.entry_type_id), '拿来主义':的entry_map [条目。 guid]> 0}“ – tpie
@ tpie,我非常怀疑它会起作用。这不是一个有效的JS对象定义 –
getFieldClass的返回值是什么? –