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

时间:2016-04-01 22:10:26

标签: angularjs ng-class

是否可以使用函数名来指定ng-class?我问的原因是因为我的绿色/红色颜色很烦人,而且我已经尝试了很多方法来修复它。如果这个技巧SHOULDNT工作,那么我知道我可以尝试其他的东西。如果它应该工作,那么我仍然无法解释为什么我的桌子不应该如他们应该的颜色。

这是我目前的代码,与其他代码的工作方式相同。

<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;
};

2 个答案:

答案 0 :(得分:2)

是的,这应该有用,但你不需要$index周围的花括号。只是:

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

答案 1 :(得分:1)

您不需要ng-class属性中的花括号,但除此之外它非常可行:

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

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