Angular: Empty Fiddle
http://angularjs.org/
HTML
<div ng-controller="MyCtrl">
<ul>
<li ng-repeat="groups in items | chunk:2">
<div ng-repeat="i in groups">{{i}}</div>
</li>
</ul>
</div>
JavaScript
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.items = [{value: 0},{value: 1}, {value:2}, {value: 3} ];
$scope.printItem = function(item){
console.log('Printing item: '+item.value);
return item.value;
}
$scope.$watch(function(){
console.log('$digest cycle!');
});
}
myApp.filter('chunk', function() {
function chunkArray(array, chunkSize) {
var result = [];
var currentChunk = [];
for (var i=0; i<array.length; i++) {
currentChunk.push(array[i]);
/*array[i].$$hashKey = "10000"+i;
console.log(currentChunk, array[i])*/
if (currentChunk.length == chunkSize) {
result.push(currentChunk);
currentChunk = [];
}
}
if (currentChunk.length > 0) {
result.push(currentChunk);
}
return result;
}
function defineHashKeys(array) {
for (var i=0; i<array.length; i++) {
array[i].$$hashKey = i;
}
}
return function(array, chunkSize) {
if (!(array instanceof Array)) return array;
if (!chunkSize) return array;
var result = chunkArray(array, chunkSize);
defineHashKeys(result);
return result;
}
});