Search code examples
angularjsgridangularjs-ng-repeationic-framework

Create Row every after 2 item in Angular ng-repeat - Ionic Grid


I need to create a strcuture as below in my app through ng-repeat.

<div class="row">
  <div class="col-50">1</div>
  <div class="col-50">2</div>
</div>
<div class="row">
  <div class="col-50">3</div>
  <div class="col-50">4</div>
</div>

Right now my code is as below:

<div class="row">
  <label class="item item-radio col col-50" ng-repeat="a in question.answer">
  <input type="radio" name="answers"   class="a-{{ a.correct }}" value="{{ a.correct }}" ng-click='ansValue("{{ a.correct }}")'> 

  <div class="item-content">
     <img src="img/ans/{{ a.option }}" />
  </div>

  <i class="radio-icon ion-checkmark"></i>
  </label>
</div>

But in the above code, its just a single row tag that I have. I wan't to somehow get the row tag contain/wrap every 2 items in the loop. What is the best way to achieve this?

Ref: Ionic Grid Doc


Solution

  • I managed to do it using $even.

    <div ng-repeat="number in numbers">
    
        <div class="row" ng-if="$even">
            <div class="col col-50">{{numbers[$index]}}</div>
            <div class="col col-50">{{numbers[$index + 1]}}</div>
        </div>
    
    </div>
    

    Here's a working JSFiddle.