ng-repeat с функцией limitTo с начальным индексом
Допустим, у меня есть массив [1,2,3,4,5,6,7], мне нужно разбить его на 3, чтобы у меня всегда было 3 объекта, то есть [1,2,3], [4,5,6], [5,6,7] при нажатии на следующую на странице. Как этого добиться, используя начальный индекс и функцию limitT angularjs?
1 ответ
Решение
Проверка по длине массива в вашем ng-click
обработчик был бы способом, которым я пошел бы об этом.
Что-то вроде следующего:
$scope.items = [1, 2, 3, 4, 5, 6, 7];
$scope.startFrom = 0;
$scope.nextPage = function () {
if ($scope.startFrom + 3 > $scope.items.length - 3) {
$scope.startFrom = $scope.items.length - 3;
}
else {
$scope.startFrom += 3;
}
};
А потом:
ng-repeat="item in items | limitTo: 3: startFrom"
Если у вас есть какие-либо проблемы с startFrom
вам может понадобиться проверить вашу версию Angular. Смотрите этот пост для получения дополнительной информации.