我按以下方式为表格单元格设置ng-class:
<td data-ng-repeat="t in report.tags|orderBy:'seq'" data-ng-class='{red : state==3 || state==4 , green: state==1 || state==2}'> {{ t.cell_content}}</td>
其中state
是数组tags
中对象的属性(因此可以作为t.state访问)
我有以下几行:
.red {
background: red;
}
.green {
background: green;
}
但是,即使此CSS文件的其他参数(在代码的另一部分中)工作正常,单元格仍保持白色。
我哪里错了?
注意:使用t.state
并不能解决问题
我确信state
只有值1,2,3或4
答案 0 :(得分:1)
如果我真正理解了你的问题,那么状态就是数组中对象的属性,所以这里是Jsfiddle的例子,它正常工作我只使用 t.state 而不是 state < / strong>,其他一切正常
<div ng-app>
<div ng-controller="test">
<table>
<tr>
<td ng-repeat='t in arr' data-ng-class='
{red : t.state==3 || t.state==4 ,green: t.state==1 || t.state==2}'> {{t.state}}
</td>
</tr>
</table>
和角度控制器将如下所示
function test($scope) {
$scope.arr = [{
state: 1
}, {
state: 2
}, {
state: 3
}]
}
答案 1 :(得分:0)
谢谢你们,我已经为我的条件添加了()
括号,它神奇地开始工作
<td data-ng-repeat="t in report.tags|orderBy:'seq'" data-ng-class='{red : (t.state==3 || t.state==4) , green: (t.state==1 || t.state==2)}'> {{ t.cell_content}}</td>
答案 2 :(得分:-3)
您不应该使用t.state
而不是state
。并且在你想要的类名周围单引号''
?
<td data-ng-repeat="t in report.tags|orderBy:'seq'" data-ng-class='{'red' : t.state==3 || t.state==4 , 'green': t.state==1 || t.state==2}'> {{ t.cell_content}}</td>