函数调用ng-repeat指令的ng-class属性

时间:2017-07-22 07:53:48

标签: javascript .net angularjs angularjs-ng-repeat

有人可以通过以下代码行找出问题。

<tr ng-repeat="myrecord in myData" 
  ng-class="togglecolor('{{myrecord.name}}','{{myrecord[$index-1].name}}')? 'yellow':'red'">

这里togglecolor()函数返回true或false。 黄色和红色不适用于该行。

2 个答案:

答案 0 :(得分:2)

您不应该在{{}}指令中使用ng-class插值。

ng-class="togglecolor(myrecord.name,myrecord[$index-1].name)? 'yellow':'red'"

更好的实现将直接从togglecolor方法返回一个类。

ng-class="togglecolor(myrecord.name,myrecord[$index-1].name)"

<强>代码

$scope.togglecolor = togglecolor;
function togglecolor(name, prevName){
   var flag;
   //some awesome logic set flag value here, either true/false
   return flag ? 'yellow': 'red';
}

答案 1 :(得分:1)

另一种使用方法是不使用简单的方法来评估ng-class

中的表达式
<tr ng-repeat="myrecord in myData" 
   ng-class="{true:'yellow', false:'red'} [toggleColor]>
相关问题