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

Javascript ng repeat指令的ng class属性中的函数调用,javascript,.net,angularjs,angularjs-ng-repeat,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。 黄色和红色不应用于行。您不应该在ng类指令中使用{{}插值 ng-class="togglecolor(myrecord.name

有人能用下面这行代码解决问题吗

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

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

您不应该在
ng类
指令中使用
{{}
插值

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

另一种使用方法是不使用函数简单计算ng类中的表达式

<tr ng-repeat="myrecord in myData" 
   ng-class="{true:'yellow', false:'red'} [toggleColor]>

太好了!!,thanx,它正在工作。我的剧本中还有一个问题。我必须使用-app.value('rowcolor',{value:'yellow'})声明一个全局变量;