AngularJS重复列表,连续有2个索引[(1,2),(3,4),(5,6)等]

时间:2016-02-20 06:46:08

标签: angularjs list angularjs-ng-repeat

这是我的样本列表,

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

我想将此列表迭代为多行,每行应包含列表中的2个元素。 必需输出

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

我是这样的,

1
2
3
4
5
6
7
8
9
10

我使用ng-repeat尝试了这一点,即:ng-repeat="val in list_element"

<div ng-repeat="val in list_element">
    <p>{{val}}</p>
</div>

我知道这是错误的..它将逐一给出......但我想连续迭代2个值而不是一个......

1 个答案:

答案 0 :(得分:1)

问题是<p>标记会在每次执行时默认创建一个新行。如果您将其替换为其他任何内容,例如div或文本内的文本

<div ng-repeat="val in list_element">
    {{ val }}
</div>

这将输出12345678910

为了解决这个问题,你可以像这样使用特殊的$odd or $even

<div ng-repeat="val in list_element tracked by $index">
    <br ng-if="$odd"/>{{ val }}
</div>

请注意<br/>只会在输出奇数时添加新行。调整它以获得您正在寻找的结果。