Javascript AngularJS-一级数组上来自ng repeat的表

Javascript AngularJS-一级数组上来自ng repeat的表,javascript,arrays,angularjs,angularjs-ng-repeat,html-table,Javascript,Arrays,Angularjs,Angularjs Ng Repeat,Html Table,我有一个包含N个元素的数组: $scope.arr = ["1","2","3" ... ,"N"] 我需要从中创建一个包含X列和N/X行的表 我可以使用ng repeat来实现它吗 我知道我可以将数组操作为以下格式: $scope.arr=[[1,2,3],[4,5,6]…],然后我可以使用嵌套的ng repeat 但我想知道是否有可能在一个一级阵列上完成这项工作。这是一个很好的问题。这就是我想到的: var-app=angular.module'app',[]; 应用程序控制器'home

我有一个包含N个元素的数组:

$scope.arr = ["1","2","3" ... ,"N"]
我需要从中创建一个包含X列和N/X行的表

我可以使用ng repeat来实现它吗

我知道我可以将数组操作为以下格式: $scope.arr=[[1,2,3],[4,5,6]…],然后我可以使用嵌套的ng repeat


但我想知道是否有可能在一个一级阵列上完成这项工作。

这是一个很好的问题。这就是我想到的:

var-app=angular.module'app',[]; 应用程序控制器'homeCtrl',函数$scope{ $scope.x=3; $scope.arr=[]; 对于i=0;i<100;i++{ $scope.arr.pushi } $scope.getColumns=函数{ 返回新数组$scope.x } $scope.getRows=函数{ 返回新的ArrayMath.ceil$scope.arr.length/$scope.x } }; 柱: {{arr[idx*x+idy]}
XLet的定义在哪里,比如$scope.X=5,区别是什么?很好,但是不需要控制器就可以做到?只有纯HTML和ng重复技巧?@cheziHoyzer,嗯,这很棘手,我不这么认为,但如果说我从中学到了什么,那就是总有人能做到。尽管如此,仍有一些计算正在进行,您需要控制器,并且行计数需要在td repeat中可用。所以不,我不这么认为。我想既然您使用了$scope.arr=[],使用控制器就可以了。当然,我需要控制器-每个视图都需要一个控制器。但是我想,因为这只是视图操作,可能所有的逻辑都需要在视图中,也许我应该使用过滤器。。
<div ng-app='myApp' ng-controller="Main">
<table>
    <tr ng-repeat="r in rows()">
        <td ng-repeat="c in columns(r)">{{ c }}</td>
    </tr>
</table>
</div>

var myApp = angular.module('myApp', []);
myApp.controller('Main', function($scope){

    $scope.arr = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18"];

    $scope.columnCount = 2;

  $scope.rows = function(){
    var input = [];
    for (var i=0; i< $scope.arr.length / $scope.columnCount; i++) input.push(i);
    return input;
  };

  $scope.columns = function(row){
      var start = row * $scope.columnCount;
      var end = start + $scope.columnCount;
    var input = [];
    for (var i=start; i< end; i++) input.push($scope.arr[i]);
    return input;
  };
});