2017-01-01 53 views
0

最初我有這種硬編碼的HTML。ng類的條件失敗,模數

<div class="col-xs-2"> 
    <div class="days-group"> 
    <input type="checkbox" id="Mondays" value="1"> 
    <label for="Mondays">Mondays</label> 
    </div> 
    <div class="days-group"> 
    <input type="checkbox" id="Tuesdays" value="2"> 
    <label for="Tuesdays">Tuesdays</label> 
    </div> 
    <div class="days-group"> 
    <input type="checkbox" id="Wednesdays" value="3"> 
    <label for="Wednesdays">Wednesdays</label> 
    </div> 
</div> 
<div class="col-xs-2"> 
    <div class="days-group"> 
    <input type="checkbox" id="Thursdays" value="4"> 
    <label for="Thursdays">Thursdays</label> 
    </div> 
    <div class="days-group"> 
    <input type="checkbox" id="Fridays" value="5"> 
    <label for="Fridays">Fridays</label> 
    </div> 
    <div class="days-group"> 
    <input type="checkbox" id="Saturdays" value="6"> 
    <label for="Saturdays">Saturdays</label> 
    </div> 
</div> 
<div class="col-xs-2"> 
    <div class="days-group"> 
    <input type="checkbox" id="Sundays" value=""> 
    <label for="Sundays">Sundays</label> 
    </div> 
</div> 

然後,我用ng-repeat與對象數組重複。但是我沒有使用ng-class條件添加類。

<div ng-repeat="day in days" ng-class="{'col-xs-2':'$index % 3 === 0'}"> 
        <div class="days-group"> 
         <input id="{{day.value}}"type='checkbox' value="{{day.value}}" check-list='checked_days'> 
         <label for="{{day.value}}">{{day.name}}</label> 
        </div> 
       </div> 

這裏有什麼問題?邏輯是如果元素是3然後添加一個col-xs-2。

回答

0

條件檢查中的報價不正確。只要不帶引號使用這樣的 -

ng-class="{'col-xs-2':$index % 3 === 0}" 
+0

謝謝,但沒有解決不了的問題。 –

+0

嘗試'$ index == 3'而不是'$ index%3 === 0'.it可能在邏輯上不正確 –

+0

nope。模數是找到剩餘的 –

1

嘗試是這樣的:

<div ng-repeat="product in products" ng-if="$index % 3 == 0" class="row"> 
     <div class="col-xs-4">{{products[$index]}}</div> 
     <div class="col-xs-4" ng-if="products.length > ($index + 1)">{{products[$index + 1]}}</div> 
     <div class="col-xs-4" ng-if="products.length > ($index + 2)">{{products[$index + 2]}}</div> 
    </div> 

更新:工作jsfiddle鏈接:

https://jsfiddle.net/avnesh2/73dzmnuh/2/ 

希望會爲你工作。

+0

嗯標記看起來很混亂 –

+0

我更新了鏈接,讓我知道什麼讓你困惑? –

0

我從你的代碼理解是,你需要一流的COL-SM-2僅此行,其指數是3或0

多次出現失誤以ng級條件給出

方式

你這樣寫的

ng-class="{'col-xs-2':'$index % 3 === 0'}" 

,但它應該是

ng-class="{'col-xs-2':$index % 3 === 0}" 

因爲

$index % 3 === 0 is Boolean which is either true or false based on this condition your class will come or not come 

,如果你給你的病情好像

'$index % 3 === 0' this will now become string which will be either 'true' or 'false' so condition is always true hence class will always be there