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. Смотрите этот пост для получения дополнительной информации.

Другие вопросы по тегам