如何使用Angularjs在动态大小的表中创建表头

时间:2016-02-23 21:17:37

标签: angularjs angularjs-ng-repeat html-table

我想创造一个动态的高度&宽度表,但我遇到表头问题。

<td>

显示ng-repeat个元素
<tr ng-repeat="set in currFormData.volume track by $index">
  <td ng-repeat="repSpace in set track by $index">
    {{repSpace}}
  </td>
</tr>

但我想要一个包含<th>的{​​{1}}行,并且必须在表格调整时进行调整。我正在寻找这样的东西,它只能看到我的模型的第二级:1次:

1, 2, 3, 4...

这是我的<tr> <th ng-repeat="repSpace in set in currFormData.volume track by $index">{{$index + 1}}</th> </tr> 模型:

$scope

如何才能完成这项工作?我愿意改变我的模特。

1 个答案:

答案 0 :(得分:1)

假设你的'音量'中的每个'set'都具有相同的长度:

HTML:

<th ng-repeat="i in getArray(currFormData.volume[0].length) track by $index">{{$index + 1}}</th>

控制器:

$scope.getArray = function (length) {
    return new Array(length);
}

否则:

HTML:

<th ng-repeat="i in getLongestArray(currFormData.volume) track by $index">{{$index + 1}}</th>

控制器:

$scope.getLongestArray = function (arrayOfArrays) {
    var longest: number = 0;
    for (var i: number = 0; i < arrayOfArrays.length; i++) {
        if (arrayOfArrays[i].length > longest) {
            longest = arrayOfArrays[i].length;
        }
    }
    return (new Array(longest));
}