在两行(或更多行)上重复 ng

ng-repeat on two (or more) rows

本文关键字:ng 两行      更新时间:2023-09-26

我的array

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

我的HTML

<div ng-repeat="item in data track by $index">{{item}}</span>

这将按预期输出:12345678910

但是我想在两个rows上显示array,如以下示例所示:

12345 // break here
678910

在这个数组上运行一些函数,所以我不想将数组分成两个较小的数组,因为这意味着我必须运行这些其他函数的频率是原来的两倍。我已经研究了ngRepeat的"开始结束"部分,但老实说,我不明白它是如何工作的,想法?

注意:这是一个离子应用程序,如果这很重要的话。

编辑:我无法获得建议的答案,我虽然我可以简化我的代码,并使其工作,但没有。 这是我的完整 HTML ng-repeat代码:

<div class="row">
   <div class="col" ng-repeat="item in data track by $index">
      {{item}}
      <br ng-if="$index == 4">
   </div>
</div>

这没用,怎么来了?有rowcol的东西吗?

$index等于 4 时,您可以使用 ng-if 插入新行:

<div class="col"> 
    <span ng-repeat="item in data track by $index">
        {{item}}
        <br ng-if="$index==4">
    </span>
</div>

在这里,我们还将ng-repeat移动到div内的span元素。这解决了应用于div的样式可能引起的任何潜在问题。

你也可以尝试使用item.$middle。

item.$middle:如果重复的元素位于迭代器中的第一个和最后一个之间,则为 true。

https://docs.angularjs.org/api/ng/directive/ngRepeat

<div ng-repeat="item in data track by $index">
    {{item}} <br ng-if="item.$middle" />
</div>