我想将多个条件应用到ng-class中,因此'u.Credit‘的上限将设为10000。下面是我的代码:
<tr ng-repeat="u in user.tables.tbl1" ng-init="u.DateAdded = JSONtoDATE(u.DateAdded)" ng-class='{lastRow : $last}' ng-model="myIndex = $index">
<td>{{u.ID}}</td>
<td>{{u.Name}}</td>
<td>{{u.Email}}</td>
<td>{{u.DateAdded}}</td>
<td ng-class='{selectedRow : u.Credit >= creditValue}'>{{u.Credit}}</td>
</tr>..。我试过这样的方法,但不起作用:
<td ng-class='{selectedRow : ((u.Credit >= creditValue) && (u.Credit < 10000))}'>{{u.Credit}}</td>发布于 2017-04-25 13:50:53
您可以将其替换为控制器上的函数调用:
<td ng-class='getClassForCurrentRow(u)'>{{u.Credit}}</td>我不确定creditValue是什么,从哪里填充的,如果它来自控制器,那么你就不需要新的参数,如果不是,就把它添加到getClassForCurrentRow(u, creditValue)函数中。
并在您的控制器中定义类:
{...}
$scope.getClassForCurrentRow = function(record) {
if (record.Credit >= $scope.creditValue) {
return "selectedRow";
}
return "";
}要注意让这个函数尽可能简单,因为Angular会在每个周期中运行它,以确定是否有什么变化。
发布于 2017-04-25 14:01:07
<a href="" ng-click="addFavorite(myfav.id);favorite=!favorite">
<i class="fa orange" ng-class="{'fa-star': favorite || fav==myfav.id, 'fa-star-o': !favorite}"></i>发布于 2017-04-25 14:22:10
我很抱歉,我在测试代码中犯了一点错误(我是JS初学者),这对期望的功能产生了负面影响,在更正之后,我不得不说我声称的“不起作用”的表达式实际上是有效的:
selectedRow : (u.Credit >= creditValue && u.Credit < 10000)但是,你的答案对我来说是非常有价值的,因为我是学习者。谢谢。
https://stackoverflow.com/questions/43602446
复制相似问题