我的项目使用财务数据呈现大量表格,其中一个要求是正数为绿色,负数为红色(以及其他几个样式)。我有这样做的课程(“获得”和“失去”),我知道我可以用ng-class
有条件地应用它们,但这样做的重复性让我觉得可能有类似的方式一个过滤器,我可以反复应用检查,而不必每次都拼出来。
我可以作弊并使用过滤器将输出包装在类的跨度中,但这样会有效地破坏过滤器链接,所以我不会这样做。
表格的一部分可能如下所示:
<tr>
<td ng-repeat="month in report" ng-class="{ loss : month.gross < 0, gain: month.gross > 0 }">{{ month.gross | currency }}</td>
</tr>
<tr>
<td ng-repeat="month in report" ng-class="{ loss : month.net < 0, gain: month.net > 0 }">{{ month.net | currency }}</td>
</tr>
<tr>
<td ng-repeat="month in report" ng-class="{ loss : month.profit < 0, gain: month.profit > 0 }">{{ month.profit | currency }}</td>
</tr>
有没有办法抽象出ng-class="{ loss: x < 0, gain: x > 0 }"
或者我只是在重复它?我有类似的情况,我正在检查甚至超过两个案例,但这绝对是更常见的情况。