Допустим, у меня есть массив [1,2,3,4,5,6,7], мне нужно разбить его, чтобы у меня всегда было 3 объекта, т.е. [1,2,3], [4,5, 6] , [5,6,7] при нажатии на следующую страницу. Как добиться этого, используя начальный индекс и функцию limitTo angularjs?
ng-repeat с функцией limitTo с начальным индексом
Ответы (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. См. этот пост для получения дополнительной информации.
person
Chris Mack
schedule
18.10.2017