3 回答
TA贡献1777条经验 获得超3个赞
也许你可以使用这样的东西:
<span ng-class="{'classname' : condition}"></span>
例如:
<span ng-class="{'icon1-class': obj.value1 == 'someothervalue' || obj.value2 == 'other-class'}"></span>
TA贡献1856条经验 获得超5个赞
使用三元运算符的 ng-class 的格式应如下所示
ng-class="variableToEvaluate ? 'class-if-true' : 'class-if-false'">
因此,您需要在声明的第一部分中进行所有评估,然后适当地应用课程。
TA贡献1943条经验 获得超7个赞
我会说括号是错误的。但它是非常难读的三元运算符。
为了更好地了解逻辑,您可以将此三元逻辑重写为控制器中的方法。就像下面这样:
function getFaIcon(presentHeader, previousHeader) {
var result = '';
if (presentHeader != previousHeader || presentHeader =='itemID') {
result = 'fa fa-thumbs-up';
} else {
if (alterTblType && presentHeader=='itemID') {
result = 'fa fa-thumbs-down';
} else if (!alterTblType && presentHeader=='itemID') {
result = 'fa fa-thumbs-up';
}
}
return result;
}
它也可以被简化,因为在两种情况下您返回相同的值'fa fa-thumbs-up'。
此外,当它是一个方法时,您可以对方法结果进行一些缓存,这对于加速摘要周期可能非常有用。
您可以对其进行调试并了解实际问题所在。
在 HTML 中,您可以这样称呼它:
ng-class="getFaIcon(presentHeader, previousHeader)">
添加回答
举报