我为表格单元格设置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中object的属性(因此可以作为t.state访问)
在CSS中,我有以下几行:
.red {
background: red;
}
.green {
background: green;
}但是,即使此CSS文件的其他参数(在代码的另一部分中)可以正常工作,单元格也保持为白色。
我哪里错了?
注意:使用t.state并不能解决问题。
我确信state只有1、2、3或4的值
发布于 2017-05-13 07:09:24
如果我真的理解了你的问题,状态是数组中对象的属性,所以这是在Jsfiddle上正确工作的例子,我只是使用t.state而不是状态,其他一切都很好
<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> 并且angular控制器看起来像这样
function test($scope) {
$scope.arr = [{
state: 1
}, {
state: 2
}, {
state: 3
}]
}发布于 2017-05-13 16:03:27
谢谢你们,我已经在我的条件中添加了括号(),它神奇地开始工作了
<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>发布于 2017-05-13 06:49:48
你不应该使用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>https://stackoverflow.com/questions/43947339
复制相似问题