用ng-repeat分组

时间:2015-02-18 13:30:55

标签: html angularjs twitter-bootstrap

我正在使用引导程序格式化我的编辑信息页面以构建我正在制作的网络应用程序。我想在两列中显示字段。我也不想将每个字段硬编码到html中。所以我想使用ng-repeat循环遍历我的字段。只有一个问题,我需要指定一个行标记来将两列组合在一起。所以每两个字段都需要连续排列。有人知道怎么做吗?如果没有解释清楚,请告诉我,我会为您澄清。

1 个答案:

答案 0 :(得分:0)

我曾遇到过同样的问题

我还没能在角度视图中尝试任何东西,但我用java脚本完成了它

例如,您将$ scope.items作为

$scope.items = [{},{},{},{},{},{}];

分组后您将拥有

 $scope.items = [ [{},{}], [{},{}], [{},{}], [{},{}] ]

选项1

$scope.items = [{},{},{},{},{},{},{}];
temporary =[];
chunk=2;
for (index=0,i=0,j=$scope.items.length; i<j; i+=chunk,index++) {
    temporary [index]= $scope.items.slice(i,i+chunk);
}
$scope.items =temporary ;

选项2

  $scope.items = [{},{},{},{},{},{},{}];
  $scope.groupByTwo = function (array)
  {
  var newarray =[];
  index=0;
  newarray[0]=[];
  for(a=0;a<array.length;a++){
    newarray[index].push(array[a]);
    console.log("pushed index "+a+" on array index " + index)
    if(a!=0 && newarray[index].length>=2)
    {

    index++;
    newarray[index]=[];

    }
    }
  return newarray;
}
$scope.items=$scope.groupByTwo($scope.items);