AngularJS - 如何在不同的容器中使用ng-repeat

时间:2013-04-12 22:27:54

标签: javascript arrays multidimensional-array angularjs

我正在尝试使用ng-repeat来显示数字数组。如果我希望它在不同的容器中,例如在不同的ul中,如何实现这一点?此外,每个ul最多只能包含2 li

$scope.numbers = [1,2,3,4,5]

<div ng-controller="myController">
    <ul>
        <li>1</li>
        <li>2</li>
    </ul>
    <ul>
        <li>3</li>
        <li>4</li>
    </ul>
    <ul>
        <li>5</li>
    </ul>
</div>

1 个答案:

答案 0 :(得分:8)

您应该将numbers数组拆分为数据块,然后使用嵌套的ng-repeat

<强> JavaScript的:

var i, l = $scope.numbers.length;

$scope.chunks = [];

for ( i = 0; i < l; i += 2) {
    $scope.chunks.push( $scope.numbers.slice(i, i + 2) );
}

<强> HTML:

<div ng-controller="myController">
    <ul ng-repeat="chunk in chunks">
        <li ng-repeat="number in chunk">{{ number }}</li>
    </ul>
</div>

See it here in action