我有一张桌子。我想根据其中一列的值设置不同的颜色。 我已经设法使用NgClass设置两种颜色。但是我怎样才能设定三种不同的条件。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<tr ng-class="{{project.total >= 0}} ? 'danger':'success'">
<td>
{{project.total}}
</td>
</tr>
&#13;
答案 0 :(得分:2)
您可以将对象作为ng-class
的值传递。
如果表达式求值为一个对象,则为每个键值对 对于具有真值的对象,相应的键用作a 班级名称。
您的对象将是这样的:
{
'red': project.total < 35,
'yellow': project.total >= 35 && project.total < 70,
'green': project.total >= 70
}
因此,你的html是:
<tr ng-class="{ 'red': project.total < 35, 'yellow': project.total >= 35 && project.total < 70, 'green': project.total >= 70 }">
修改:请参阅demo fiddle
但是,由于angular's digest mechanism,您应该只在模板中保留简单的条件。结果类计算可以在控制器中逐出,你只能:
<tr ng-class="{{project.class}}">
答案 1 :(得分:1)
<tr ng-class="{'red': project.total <35 , 'yellow':project.total >= 35 && project.total<70,'green': project.total >= 70 } ">
答案 2 :(得分:1)
真的,你应该在控制器而不是HTML中做这个复杂的工作,但如果你坚持,你可以这样做:
<tr ng-class="project.total < 35 ? 'danger': (project.total < 71 ? 'partial' : 'success')">