我想根据ng-repeat的索引来设置div的样式,我在这里应用了两种不同的样式。除了其他类之外,具有偶数索引的行将具有为奇数指定的所有类。
控制器:
var odd= { 'class1' : true, 'class2': true ,'class3': false,'class4': false} ;
var even = { 'class1' : true, 'class2': true ,'class3': true,'class4': true} ;
$scope.applyColumnClasses = function(index)
{
if ( index % 2 == 0)
return even;
else
return odd;
}
查看:
<div ng-repeat="a in articles" ng-class="applyColumnClasses($index)" >
我应该将多于五个类添加到偶数行中。有没有更优雅的方式来做到这一点?
就像将字符串变量设置为“class1,class2”for odd一样,如果它是偶数,我只需追加其他类并返回它。
我正在尝试编写更清晰的代码。可能会声明一个对象而不是我已经做过的两个对象。
任何想法......
答案 0 :(得分:2)
有两种方式:
class="commonClass" ng-class="{'evenClass':$even,'oddClass':$odd}"
或
class="commonClass" ng-class-even="'evenClass'" ng-class-odd="'oddClass'"
答案 1 :(得分:1)
您可以直接应用公共类而无需绑定,其余部分保持原样:
<div ng-repeat="a in articles" class="class1 class2" ng-class="applyColumnClasses($index)" >