2017-07-03 8 views
0

リストをループして、ブートストラップを使用して3行を作成する角度コードにしようとしています。私のコードは、1つの要素が常に最初の行に単独であることを除いて動作しています。それは次のようになります。1つ目の行に1つの要素をブートストラップする

ここ
1 
2 3 4 
5 6 7 
8 9 10 

が私のコードです:

<div ng-repeat="n in [1, 2, 3, 4, 5, 6, 7, 8 , 9, 10]" ng-class="{'row': 
$index % 3 == 0}"> 
    <div class="col-xs-3"> 
     {{n}} 
    </div> 
</div> 

私は、行はこのように終わるために取得しようとしています:そして、あなたは簡単に取ることができる

1 2 3 
4 5 6 
7 8 9 
10 
+0

がちょうど($インデックス+ 1)への$インデックス%3 == 0を変更する必要があるようにあなたが何かをしたいと思います%3 == 0 –

答えて

1

使用$インデックス+ 1

<div ng-repeat="n in [1, 2, 3, 4, 5, 6, 7, 8 , 9, 10]" ng-class="{'row': 
    (($index+1) % 3) == 0}"> 
      <div class="col-xs-3"> 
      {{n}} 
      </div> 
    </div> 
0

ng-class以下の深さまで適用し、必要に応じてcol-sm-12またはcol-sm-3を適用してください。

<div class="row"> 
    <div ng-repeat="n in [1, 2, 3, 4, 5, 6, 7, 8 , 9, 10]" 
     ng-class="{'col-sm-12': $first, 'col-sm-3': !$first}"> 
     {{n}} 
    </div> 
</div> 
+0

私はdownvoteの背後にある理由を知ってもいいですか? –

0

あなたは数を乗り切るチェックするために別の条件を適用する必要があり、この1

<div ng-repeat="n in [1, 2, 3, 4, 5, 6, 7, 8 , 9, 10]" ng-class="{'row': 
$index % 3 == 0 && $index!=1}"> 
    <div class="col-xs-3"> 
     {{n}} 
    </div> 
</div> 

を試してみてください1/3の係数がゼロであるため、1かではありません。

+0

これを試してみてください。動作しませんでした。 – calthoff

+0

&& opearatorを使って再度試してください。 –

1

代わりに$インデックスのこの

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

私はこの解決策を試しました。配列の最初の要素はまだそれ自身の行にありました。 – calthoff

+0

答えを更新しました、私は間違った質問を読んで、あなたが質問で与えられた最初の例を達成したいと思った – madhur

+0

完璧な感謝! – calthoff

関連する問題