2016-03-31 3 views
0

У меня возникла ситуация в пейджинге, я купил все данные от $ http-запрос за раз (например, 50 записей), и там я использовал следующие для пейджинга.Paging in Angular Js перенаправить на ту же страницу, не перейдя на первую страницу

$scope.numPerPage = 10; 
    $scope.currentPage = 1; 
    $scope.maxSize = 5; 

<pagination total-items="game-length" page="currentPage" 
max-size="maxSize" class="pagination-sm" 
boundary-links="true" rotate="false" num-pages="numPages"> 
</pagination> 

Записи теперь делятся на 10-10. Теперь с третьей страницы я нажал на первую запись, я перенаправляюсь на другую страницу html, чтобы показать данные конкретных записей. Теперь я возвращаюсь, тогда моя страница полностью перезагружается и начинается с первой страницы. Я пытаюсь вернуться на третью страницу. Пожалуйста, дайте мне какое-либо решение. Спасибо

+0

он перезагрузится с первой страницы, что вы можете сделать, это указать маршрут или параметр состояния, который сообщает контроллеру, какая страница вы хотите, вы также можете сделать его необязательным; то, если вы получите этот параметр, установите для него $ scope.currentPage. – war1oc

+0

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

ответ

0

Вы можете сохранить состояние текущей страницы разбиения на страницы, прежде чем перейти на следующую страницу в localStorage или любом factory/value (если не полностью перезагрузить), и перед возвращением проверьте предыдущее состояние страницы и инициализируйте ее.

Plunker изменить страницу для разбивки на страницы.

+0

Да, я использую файлы cookie для хранения текущего значения страницы после этого, я отправляю на другую страницу, так что i может перезаписать текущую страницу с помощью значения cookie, и я получаю данные (например, из страницы 3, я перенаправлен на другую и вернулся со значением «3» из файла cookie), поэтому данные с 20 до 30 записей поступают только на первую страницу, на самом деле мне нужно показать эти записи на странице №3, а номер первой страницы должен содержать от 0 до 10 записей, а второй номер страницы должен содержать от 10 до 20 записей, а третий - от 20 до 30 записей. Фактически функция $ scope.watch (currentPage) не может идентифицировать –

+0

Можете ли вы предоставить для этого плункер? Поэтому я бы отлаживал его. –

+0

Здесь Plunker, чтобы дать вам некоторую информацию http://plnkr.co/edit/Y5hNrFQWspREEkZgkGFk?p=catalogue –

0

Простое решение, установить «GET параметров в вашем URL, как это:

xxx.com/[email protected]&yourOtherParams 

В вашей ng-init функции:

$scope.currentPage = $location.search()['pageNum'] ? $location.search()['pageNUm']:1; 
// do other things you need 

В вашем pageChange Событие:

$location.search({pageNum:$scope.currentPage+1}); 

Надеюсь, это поможет вам!

+0

Спасибо, и однажды я буду применять это. –

Смежные вопросы