Angular limitTo второй параметр фильтра "begin", похоже, не работает в Angular 1.3

Я пытаюсь сделать функцию разбивки на страницы для множества пользователей. Использование Angularjs 1.3.

ng-repeat="user in users | filter: searchText | orderBy: 'lastName' | limitTo:pageSize:startPosition track by user.lanId"

Я хочу использовать параметр "begin", переменную startPosition, указанную выше, для начала каждой страницы моего списка пользователей. Когда это не сработало, я упростил задачу, пытаясь ограничиться массивом чисел.

$scope.numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];

ng-repeat="n in numbers | limitTo:2:2"

Это тоже не сработало. Это дало мне 1 и 2 вместо 3 и 4.

Затем я переключился на Angularjs 1.4-beta.6, и он работает, как и ожидалось, для обоих примеров.

Мой вопрос: есть ли способ заставить это работать в Angular 1.3? Что вызывает это в Angular 1.3?

Я пробовал с 1.3.15 и 1.3.2 - оба не работают.

Благодарю.

2 ответа

Решение

Согласно документации begin параметр не был реализован в версии 1.3.x. Смотрите это (1.3.15) и это (1.4.0)

Вы всегда можете написать свою собственную версию limitTo в качестве пользовательского фильтра.

angular.module('myApp', []).filter('myLimitTo', function() {
  return function(input, limit, begin) {
    return input.slice(begin, begin + limit);
  };
});
Другие вопросы по тегам