Angularjs 将此多个条件转换为ng类条件

Angularjs 将此多个条件转换为ng类条件,angularjs,ng-class,Angularjs,Ng Class,您好,我需要帮助将这个带有“或”条件的“if-else”转换为可以在ng类中使用的条件 这是我的ng类,有条件,但工作不正常 <span ng-class="{'green': work > toWork, 'red': work < toWork, 'black': work == toWork || overall == '-'}"> {{overall = showMonthly(work

您好,我需要帮助将这个带有“或”条件的“if-else”转换为可以在ng类中使用的条件

这是我的ng类,有条件,但工作不正常

<span ng-class="{'green': work > toWork,
                 'red': work < toWork,
                 'black': work == toWork || overall == '-'}">
    {{overall = showMonthly(work = (workers | getMonthValue: dts.value),
                            toWork = getMonthlyToWork(member.id, dts.value))}}
</span>

{{total=showmonly(work=(workers | getMonthValue:dts.value),
toWork=getMonthlyToWork(member.id,dts.value))}
这是我想申请的条件:

if (work > toWork) {
  return "green";
}else if (work < toWork) {
  return "red";
}else if (work == toWork || overall == "-") {
  return "black";
}
if(工作>工作){
返回“绿色”;
}否则如果(工作<工作){
返回“红色”;
}否则,如果(工作==toWork | |总体==“-”){
返回“黑色”;
}

...
看看这个。(您的条件语句中缺少一个拼写)


快乐编码

不需要使用ng类,只需将逻辑放入
$scope
中的方法中,如下所示

$scope.getClass = function(work, toWork, overall){
    if (work == toWork || overall == "-"){
      return "black";
    }else if (work < toWork) {
      return "red";
    }else if(work > toWork)  {
      return "green";
    }
}
$scope.getClass=函数(工作、工作、总体){
如果(工作==toWork | |总体==“-”){
返回“黑色”;
}否则如果(工作<工作){
返回“红色”;
}否则如果(工作>工作){
返回“绿色”;
}
}
在你看来,就这样称呼它吧

<span class="{{getClass(work, toWork, overall)}}"></span>


它可以工作,但是如果输出是“-”虚线,它的颜色是红色而不是黑色。这是因为
工作
,不是吗?您的标记中存在一些不确定性,因此为什么不在Codepen或jsBin等上进行快速采样呢?请向
showMonthly
函数解释第一个参数。
(workers | getMonthValue:dts.value)
的预期结果是什么?那个表达式在做什么?条件有问题。什么时候才能达到测试
total==“-”
?如果返回值为零“0”,则该方法将在它测试的伪代码
work==toWork
中返回“-”。在HTML中,它测试
work==0
。你的意图是什么?更新了答案,现在可以通过参数获得这些答案,试试看,OPs条件有问题。什么时候才能达到测试
total==“-”
?它应该在if块中,而不是在else if块中
<span class="{{getClass(work, toWork, overall)}}"></span>