问题 如何使用angularjs $ resource进行服务器端分页?


我试图显示一个包含大量元素的表。我想对表进行分页并仅加载当前页面上显示的元素。现在,json已经加载了 $resource

我读 这里 在json标头内传递分页信息(currentPage,pagesCount和elementsCount)是个好主意。

如何从角度访问json头中的那些信息?

这是基本的js结构:

angular.module('App.services', ['ngResource']).
factory('List', function($resource){
    return $resource('url/of/json/:type/:id', {type:'@type', id:'@id'});
});


angular.module('App.controllers', []).
controller('ListCtrl', ['$scope', 'List', function($scope, List) {
    var $scope.list= List.query({offset: 0, limit: 100, sortType: 'DESC' });
}]);

4829
2017-07-04 00:03


起源

可能重复 如何使用angularjs资源处理分页和计数? - JBCP


答案:


基于AngularJS $资源文档,应该可以这样做:

List.query({offset: 0, limit: 100, sortType: 'DESC' }, function(data, responseHeaders) {
  // you can access headers here
});

14
2017-07-04 00:14



是的,这是显示上一页和下一页链接的方式,但如果我想显示每个页面的直接链接怎么办?我需要来自服务器的(currentPage,PagesCount)信息。或者我错过了什么? - François Romain
这可以基于计算 limit 和 offset。你知道那些。除非 I 我错过了什么:) - holographic-principle
感谢您的回答。要计算分页,你需要 limit 和 offset 以及元素总数(elementCount)我想通过json标题。你怎么看 ? - François Romain
检查我更新的答案... @desgnl - holographic-principle
工作!我必须将参数传递给 responseHeaders 喜欢这个 : responseHeaders("date") - François Romain