AngularJS: Есть ли способ использовать ng-repeat для создания строк и столбцов из одного массива данных? - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь создать цикл, который будет проходить через массив и выводить данные в строки / столбцы. Для каждых двух элементов в массиве я хотел бы создать новую строку с двумя столбцами, например:

<div class="row">
   <div class="col">1</div>
   <div class="col">2</div>
</div>

Вот пример моего массива:

$scope.array = [1,2,3,4,5,6,7,8,9];

Итак, общее конечное желание будет выглядеть так:

<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>
<div class="row">
   <div class="col">7</div>
   <div class="col">8</div>
</div>
<div class="row">
   <div class="col">9</div>
</div>

Это то, что я изначально пытался, но показывался только один столбец.

<div ng-repeat="item in array">
   <div ng-if="$index % 2 === 0" class="row">
      <div class="col">{{item}}</div>
   </div>
</div>

Какие-нибудь дополнительные мысли или указания о том, как мне этого добиться? Спасибо.

1 Ответ

1 голос
/ 12 апреля 2019

Вы были очень близки!Попробуйте это:

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

Все, что вам не хватало, это второй столбец.

...