Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

use ng-repeat to show 2 elements in one go

I'm required to create something like this

<div class="row">
  <div class="col">
  <div class="col">
<div>

Now i have array having 6 elements.. So, i need to create something like this.

<div class="row">
  <div class="col"> 1 </div>
  <div class="col"> 2 </div>
<div>
<div class="row">
   <div class="col"> 3 </div>
   <div class="col"> 4 </div>
<div>
<div class="row">
   <div class="col"> 5 </div>
   <div class="col"> 6 </div>
<div>

I'm not getting how to do this.. What i had tried..

<div class="row" ng-repeat="a in elem">
      <div class="col"> {{a.name}} </div>
      <div class="col"> {{a.name}} </div>
<div>

but, this is giving same values..in both ..

like image 782
Atul Sharma Avatar asked Dec 06 '25 07:12

Atul Sharma


2 Answers

Instead of trying to do some hack with angular you could use flexbox:

* {
  box-sizing: border-box;
}
.row {
  display: flex;
  flex-wrap: wrap;
}
.col {
  width: 50%;
  height: 40px;
  padding: 8px;
}
<div class="row">
  <div class="col">Col 1</div>
  <div class="col">Col 2</div>
  <div class="col">Col 3</div>
  <div class="col">Col 4</div>
  <div class="col">Col 5</div>
  <div class="col">Col 6</div>
</div>

It has the advantage that you can make a responsive design much easier than with a fixed number of columns with angular.

like image 152
Christoph Avatar answered Dec 07 '25 20:12

Christoph


Updated

    <div class="row" ng-repeat="a in elem" ng-if="$even">
        <div class="col"> {{elem[$index - 1].name}} </div>
        <div class="col"> {{a.name}} </div>
    <div>
like image 44
baskin Avatar answered Dec 07 '25 19:12

baskin



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!