AngularJs 设置多个条件

AngularJs Style multiple conditions

我有一个 ng-repeat,我为每一行设置了不同的颜色,如下所示:

ng-style="{'background': colors[$index % colors.length]}

现在我有要检查的数据: {{obj.dueInHours}} <= 15 -> 将颜色设置为黄色,{{obj.dueInHours}} <= 5 -> 将颜色设置为红色,否则使用颜色 [$index]

这可能吗?

Br, 图布

ng-style="{'background': obj.dueInHours <= 15 ? 'yellow' :  obj.dueInHours <= 5 ? 'red' : colors[$index % colors.length]}

如果项目在 15 小时或更短时间内到期,则颜色为黄色。如果 5 小时或更短时间,则颜色为红色。否则,颜色默认颜色行。

当然,这对 html 来说有点难处理。想象一下,请求是在 100 小时内每个小时都有不同的颜色?您当然不会在 html 中使用它,而是在控制器或指令中使用它。

我的建议是 运行 逻辑一次并设置为作用域上的一个变量,这样每次摘要都不会重新计算值。如果您需要定期检查值,那么您可以 1. 刷新页面 2. 使用 setTimeout 函数根据需要重新计算。