我的控制器$scope
...
$scope.myElements = [false, false, true, false, true, false];
...如果所述数组中的至少一个元素为真,则div标签上的类应为firstClass
,否则为secondClass
。使用ng-class
...
<div ng-class="anyElementTrue() ? 'firstClass' : 'secondClass'">
......还有帮助函数......
$scope.anyElementTrue = function () {
for (var i = 0; i < $scope.myElements.length; i++) {
if ($scope.myElements[i]) return true;
}
return false;
}
是否有一种更简单的方法来实现与表达式相同的方法?像这样:
<div ng-class="angular.any(myElements) ? 'firstClass' : 'secondClass'">
there is no angular.any
除外。想法?
答案 0 :(得分:3)
你可以这样做:
<div ng-class="myElements.indexOf(true) > -1 ? 'firstClass' : 'secondClass'">