2017-05-30 56 views
1

我想根據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」一樣,那麼萬一它甚至會追加其他類並返回它。

我想寫更乾淨的代碼。可能會像我已經做過的那樣聲明一個對象。

有什麼想法?

+3

最簡單的方法是你爲此要唱'ng-class-odd'和'ng-class-even' –

回答

2

有2種方式:

class="commonClass" ng-class="{'evenClass':$even,'oddClass':$odd}" 

class="commonClass" ng-class-even="'evenClass'" ng-class-odd="'oddClass'" 
1

您可以申請公共類的情況下直接結合,剩下的,因爲它是:

<div ng-repeat="a in articles" class="class1 class2" ng-class="applyColumnClasses($index)" >