问题:给定一个包含“n”个项目的数组,我希望它们分别呈现在 m 行的单独表中。例如,如果我有一个 n=30 项且 m=6 的数组,那么我需要 5 个包含 6 个项的表,每个表水平堆叠在一起。
尝试的解决方案:我尝试使用 ng-repeat 和 ng-switch 来渲染一些东西来达到这种效果,但它没有用。我能够将这些项目呈现为一个表(这很简单)。
我知道下面粘贴的代码不起作用,因为第一个 ng-switch 没有关闭 and 标签。是否有任何众所周知的技巧来实现这样的目标?
itemapp.directive("items", function () {
'use strict';
return {
restrict: 'E',
template: '<div id="itemDiv" ng-repeat="item in items" ng-show="$index==0">' +
'<span ng-switch on="$index % 10">' +
' <div ng-switch-when="0">' +
' <table><tbody>'+
' </div>'+
'<tr class="itemon">' +
'<td><input type="radio" ng-model="item.on" value="0" >OFF</input></td>' +
'<td>{{$index}}</td>'+
'</tr>' +
' <div ng-switch-when="9">' +
' </table></tbody>'+
' </div>'+
'</span>' +
'</div ng-show="$index==0">',
link: function (scope) {
},
scope: {
items: '='
}
};
});
这是作为 HTML 模板的代码:
<div id="itemDiv" ng-repeat="item in items" ng-show="$index==0">
<span ng-switch on="$index % 10">
<div ng-switch-when="0">
<table>
<tbody>
</div>
<tr class="itemon">
<td><input type="radio" ng-model="item.on" value="0">OFF</input></td>
<td>{{$index}}</td>
</tr>
<div ng-switch-when="9">
</table></tbody>
</div>
</span>
</div ng-show="$index==0">