angularjs 一個數組 兩層迴圈顯示 例如一行三個,多行
參考:http://stackoverflow.com/questions/12518259/using-ng-repeat-with-table-rows
http://jsfiddle.net/6aqtj/1/
http://jsfiddle.net/interlock/qhewP/2/
<tr ng-repeat="days in dates">
<td ng-repeat="day in days">
{{ day }}
<!-- After seven iterations a new `<tr>` should be aded -->
</td>
</tr>
var monthDays = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1516, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];
myApp.controller('MyCtrl', function($scope) {
$scope.dates = monthDays;
});
兩種方式,第一種直接的。把一個數組加工成兩個陣列。
myApp.controller('MyCtrl', function($scope) {
var dates = [];
for (var i = 0; i < monthDays.length; i++ ) {
if (i % 7 == 0) dates.push([]);
dates[dates.length-1].push(monthDays[i]);
}
return $scope.dates = dates;
});
第二種 通過filter加工成兩個陣列
myApp.filter('groupCount', function() {
return function(input, count) {
var rows = [];
for (var i = 0; i < input.length; i++) {
if ( i % count == 0) rows.push([]);
rows[rows.length-1].push(input[i]);
}
return rows;
}
});