Массив массивов AngularJS ng-repeat
Можно ли использовать ng-repeat
с массивом массивов?
Здесь мое мнение:
<div ng-repeat="item in items">
<p>{{item}}</p>
<ul>
<li ng-repeat="i in item.items">{{i}}</li>
</ul>
</div>
Здесь мой контроллер:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.items = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
});
Вот мой Плункер:
http://plnkr.co/edit/b6vRVpUKkhPANNVXkkJL?p=preview
Как я могу вывести:
Ответы
Ответ 1
Ваша проблема заключается в этой строке:
<li ng-repeat="i in item.items">{{i}}</li>
item.items
не undefined
потому что item
является массивом.
Вы должны перечислить item
вместо item.items
:
<body ng-controller="MainCtrl">
<div ng-repeat="item in items">
<ul>
<li ng-repeat="i in item">{{i}}</li>
</ul>
</div>
</body>
Здесь работает Plunk.
Ответ 2
У вас почти есть результат. Это всего лишь небольшая ошибка во втором ng-repeat
.
<div ng-repeat="item in items">
<p>{{item}}</p>
<ul>
<li ng-repeat="i in item">{{i}}</li>
</ul>
</div>
Вы уже находитесь в элементе во втором ng-repeat
вам не нужны item.items
.
Существует обновленный плункер: http://plnkr.co/edit/aLx05WWzFRVrocmXwr12?p=preview