ng-class 可以通过函数调用设置吗

can ng-class be set by function call

是否可以使用函数名来指定 ng-class ?我问的原因是因为我的 green/red 着色有错误,我已经尝试了很多方法来修复它。如果这个技巧应该奏效,那么我知道我可以尝试其他方法。如果它应该工作,那么我仍然无法解释为什么我的表格没有按应有的方式着色。

这目前在我的代码中,并且与我的其他代码一样存在错误。

<td ng-class="GetColor( {{$index}} )">{{ps.pval2}}</td>




$scope.GetColor = function(z) {         //returns color string for use in ng-class
    $scope.tmp = 'red';
    if($scope.PlayerStats[z].pval2.valueOf() > $scope.PlayerStats[z].pval3) {
        tmp = 'green';
    } else if($scope.PlayerStats[z].pval2.valueOf() == $scope.PlayerStats[z].pval3){
            tmp = 'yellow'; 
    } else {
            tmp = 'red';
    }

    return tmp;
};

是的,这应该可以,但是您不需要 $index 周围的大括号。只是:

<td ng-class="GetColor($index)">{{ps.pval2}}</td>

你的 ng-class 属性 中不需要大括号,否则它是完全可行的:

<td ng-class="GetColor($index)">{{ps.pval2}}</td>

我肯定会在你的 if 语句中检查你的比较器。根据变量的数据类型,它们的行为可能与您预期的不同。