Разбивка на страницы Angular-bootstrap дает ошибку неопределенной функции

Я пытаюсь использовать нижний колонтитул разбиения на страницы angular-bootstrap

я получаю ошибку

 TypeError: undefined is not a function
    at Object.fn (http://localhost:3000/lib/angular-bootstrap/ui-bootstrap-tpls.js:2265:5)
    at Scope.$get.Scope.$digest (http://localhost:3000/lib/angular/angular.js:12650:29)
    at Scope.$get.Scope.$apply (http://localhost:3000/lib/angular/angular.js:12915:24)
    at done (http://localhost:3000/lib/angular/angular.js:8450:45)
    at completeRequest (http://localhost:3000/lib/angular/angular.js:8664:7)
    at XMLHttpRequest.xhr.onreadystatechange (http://localhost:3000/lib/angular/angular.js:8603:11)angular.js:10126 (anonymous function)angular.js:7398 $getangular.js:12669 $get.Scope.$digestangular.js:12915 $get.Scope.$applyangular.js:8450 doneangular.js:8664 completeRequestangular.js:8603 xhr.onreadystatechange

строка ui-bootstrap-tpls.js:2265 — «setNumPages»

$scope.$watch('totalPages', function(value) {
  setNumPages($scope.$parent, value); // Readonly variable

  if ( $scope.page > value ) {
    $scope.selectPage(value);
  } else {
    ngModelCtrl.$render();
  }
});

Я установил angular-bootstrap с помощью Bower и включил

'public/lib/angular-bootstrap/ui-bootstrap-tpls.js',

Когда я ищу функцию setNumPages в репозитории angular-bootstrap, я нашел ее в

src/pagination/pagination.js 

Как мне убедиться, что pagination.js также загружен в мой браузер. Я не нашел pagination.js в своей библиотеке. Я следил за Как выполнить пейджинг в AngularJS?


person raju    schedule 16.01.2015    source источник
comment
Мое предположение - setNumPages устанавливается здесь в $parse($attrs.numPages).assign или noop. Последний не должен давать вам ошибку, которую вы видите, поэтому я предполагаю, что первый не возвращает действительную функцию. Не могли бы вы указать неверное выражение для атрибута num-pages? Может быть, попробовать очень простое значение, такое как 3, и посмотреть, прояснит ли это ситуацию.   -  person Bungle    schedule 16.01.2015
comment
Это может указать вам правильное направление: stackoverflow.com/questions/26141818/   -  person Bungle    schedule 16.01.2015


Ответы (2)


Попробуйте изменить numPages на свойство вместо функции:

$scope.numPages = Math.ceil($scope.todos.length / $scope.numPerPage);
person ST7    schedule 25.03.2015

У меня была такая же ошибка, и я решаю эту проблему ->

Сначала в пользовательском интерфейсе:

<pagination
  total-items="vm.pagination.totalItems"
  items-per-page="vm.pagination.itemsPerPage"
  ng-model="vm.pagination.currentPage"
  current-page="vm.pagination.currentPage"
  boundary-links="true">
</pagination>

Второй в Ctrl:

var vm = this, //controllerAs: 'vm'
    itemsPerPage = 10;
vm.pagination = {
   currentPage: 1,
   itemsPerPage: itemsPerPage,
   totalItems: vm.alarms.length,
   numPages: Math.ceil(vm.alarms.length / itemsPerPage)
 };

 $scope.$watch('vm.pagination.currentPage', function() {
    var begin = ((vm.pagination.currentPage - 1) * vm.pagination.itemsPerPage),
        end = begin + vm.pagination.itemsPerPage;
    vm.filterAlarms = vm.alarms.slice(begin, end);
});
person eugene.sushilnikov    schedule 08.04.2015