У меня есть такой объект:
data = {
element1: ["content11", "content12"],
element2: [],
element3: ["content31"],
element4: ["content41", "content42", "content43"]
}
Отображение всего с вложенным ng-repeat
просто:
<div ng-repeat="element in data">
<div ng-repeat="content in element">
{{content}}
</div>
</div>
Что дает мне ожидаемый результат:
content11
content12
content31
content41
content42
content43
Число элементов известно, но размер массивов различается.
Теперь я пытаюсь ограничить список отображаемых элементов 4.
Чтобы оживить ситуацию, я хочу сначала показать первые записи массива, затем продолжить со вторым и так далее.Что приводит к следующему коду:
iteration = [0,1,2,3] //because I want to limit everything to 4 elements and don't care for more
<div ng-repeat="i in iteration">
<div ng-repeat="content in data">
{{content[i]}}
</div>
</div>
Опять ожидаемый результат, но все еще борются с пределом:
content11
content31
content41
content12
content42
content43
Я пытался работать с $parent.$index
и $index
, но не смог создать работающую функцию подсчета.
К сожалению, мне приходится оценивать эту структуру данных в каждой строке большой таблицы и следить за производительностью.
Рефакторинг объекта по устаревшим причинам невозможен.