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)">
添加回答
舉報