使用AngularJS UI Bootstrap分页时返回正确的页面

前端之家收集整理的这篇文章主要介绍了使用AngularJS UI Bootstrap分页时返回正确的页面前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图了解如何使用AngularJS UI Bootstrap的分页返回到分页项目列表的正确页面.

我的项目已正确分页(12页到一页),分页过滤器工作(第1页= 1-12,第2页= 13-24等).我还为每个项目创建了一个指向详细信息模板的路径,这也是有效的.

在详细信息页面上,我有一个按钮,返回到应用程序根目录下的模板(“/”),名为“返回目录”,这是项目列表的第1页.但是,即使有关项目24的详细信息,此按钮也会返回到第1页.我希望它执行的操作是转到第2页,其中第24项是分页的,如果显示的详细信息适用于25之间的任何项目,则转到第3页. -36,依此类推.

请告知如何做这样的事情.

解决方法

您可以在这种情况下使用分页服务.

例如:

app.service('PaginationService',function(){
   var service = {};
   service.currentPageNumber = 1;

   service.setNewPageNumber = function(newPageNumber) {
      service.currentPageNumber = newPageNumber;
   };

   return service;
});

app.controller('CatalogController',function($scope,PaginationService){
   $scope.currentPage = PaginationService.currentPageNumber;
   $scope.totalItems = 0;
   $scope.itemsPerPage = 10;

   $scope.setPage = function (pageNo) {
      $scope.currentPage = pageNo;
   };

   $scope.$watch('currentPage',function () {
      PaginationService.setNewPageNumber($scope.currentPage);
   });
});

每当您更改当前页码时,将调用PaginationService.setNewPageNumber(),并在从详细信息页面返回后,将重新加载控制器,您将获得该服务的实际页码.

$scope.currentPage = PaginationService.currentPageNumber;

希望能帮助到你!

猜你在找的Angularjs相关文章