AngularJS:如何从特定值重复ng-repeat

时间:2017-01-16 20:57:07

标签: javascript angularjs

我正在尝试创建一个基于特定值重复的模板。例如,如果页面总数为3,总记录数为15,那么每页将有5条记录。所以基本上它将是一个嵌套的ng-repreat。

我创建了一个示例java代码

int index = 1;
for(int i =1; i <=5; i++){
   System.out.print("#"+i);
   for(int j = index; j<=14; j++){
      System.out.print("->"+index);
      index++;
      if(j%3==0){
         break;
      }
   }
   System.out.println();
}

这些将正确设置每个页面的记录数。 现在我需要首先根据我需要的页数创建模板页面,然后在每个页面内我需要特定数量的记录。 在角度来看,使用ng-repeat

编写这个逻辑有点棘手
<div ng-repeat="i in X" >
   <div>
      <div ng-repeat="j in Y">
         <span></span>
      </div>
   <div>
</div>

1 个答案:

答案 0 :(得分:1)

您可以将X拆分为所需大小的块(5),使其成为一个数组数组。然后迭代它并迭代内部数组。

假设您想要每页一件而不是五件:

const items = [1, 2, 3];
$scope.X = items.reduce((chunks, item) => {
  chunks.push([item]);
  return chunks;
}, []);

现在您可以使用ng-repeat="chunk in X",然后可以在内部使用ng-repeat="item in chunk"