Угловая пагинация, установка первой страницы через контроллер

Я использую директиву угловой разбивки на страницы, и мне нужно сделать что-то, что, я надеюсь, должно быть довольно простым.

Вместо того, чтобы по умолчанию использовать первую страницу, я бы хотел, чтобы была возможность установить страницу, с которой пользователь начинает. Так что в идеале что-то вроде этого.

В HTML

<pagination total-items= "resultCount" ng-model= "currentPage" ng-change= "pageChanged()"></pagination>

В моем контроллере

$scope.currentPage = 3;

$scope.pageChanged = function() {
    alert($scope.currentPage + " is the current page.");
}

Каждый раз отображается предупреждающее сообщение

"1 is the current page."

Итак, это говорит мне о нескольких вещах. pageChange вызывается, предположительно, когда $scope.currentPage изменяется с 3 на 1. Чтобы дополнительно проверить это, функция pageChanged НЕ запускается, когда я устанавливаю $scope.currentPage равным 1 в контроллере. . Я предполагаю, что когда элемент DOM инициализируется, по умолчанию он равен 1, что меняет мое предыдущее значение 3.

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


person Zack    schedule 24.06.2015    source источник
comment
Вы пытались установить для общего элемента большое число, скажем, 100?   -  person Icycool    schedule 24.06.2015
comment
resultCount исчисляется тысячами, поэтому, хотя я ценю ответ, я не думаю, что это проблема.   -  person Zack    schedule 25.06.2015


Ответы (1)


Ваше наблюдение верно. Чтобы решить эту проблему, вам нужно установить $scope.currentPage только тогда, когда ваши данные (или общий элемент) поступили.

$scope.setCount = function(){
  $scope.resultCount = 100;
  $scope.currentPage = 3;
}

Скрипка

person Icycool    schedule 25.06.2015
comment
Хотя я не использовал эту функцию дословно, меня спасла общая идея. Мне нужно было дождаться поступления данных, прежде чем установить для currentPage нужное значение. Большое спасибо! - person Zack; 01.07.2015