AngularJS:有没有办法使用ng-repeat从同一个数据数组创建行和列?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS:有没有办法使用ng-repeat从同一个数据数组创建行和列?相关的知识,希望对你有一定的参考价值。

我正在尝试创建一个将遍历数组并将数据输出到行/列的循环。对于数组中的每两个项目,我希望它创建一个包含两列的新行,如下所示:

<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>

关于如何实现这一目标的任何其他想法或方向?谢谢。

答案

你非常接近!试试这个:

<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>

你缺少的只是第二栏。

以上是关于AngularJS:有没有办法使用ng-repeat从同一个数据数组创建行和列?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 AngularJS 之外重新定义绑定到 $ctrl 的函数?

有没有办法缩小 Material Design (AngularJS) <md-input> 元素?

AngularJS 中有没有办法用其他常量定义常量?

AngularJS:有没有办法使用ng-repeat从同一个数据数组创建行和列?

有没有办法观察从 AngularJS 世界之外触发的属性更改?

使用AngularJS自动定位工具提示