我认为将ng-repeat转换为ul以使ng-repeat处理呈现为四个一组而不是手动尝试使用打开和关闭html标记会更容易。您可以尝试以下内容来实现这一目标。
JS
$scope.getNumber = function(data,numberOfItems) { if(data.length % numberOfItems === 0) return new Array(data.length / numberOfItems); else return new Array(Math.floor(data.length/numberOfItems) + 1); } $scope.getData = function(data,index,numberOfItems){ var temp = data; return temp.slice(index * numberOfItems,index * numberOfItems + numberOfItems); }
HTML
<div class="dd clear"> <ul ng-repeat="item in getNumber(data,4) track by $index"> <li data-ng-repeat="name in getData(data,$index,4)"> {{name}} </li> </ul> </div>
的 演示 强>
您可以使用$ index和“模数运算符”来标识每四个值。 我已经创建了一个测试演示 jsfiddle.net 您可以通过以下链接查看。
jsfiddle.net
http://jsfiddle.net/mq2ngfs7/