使用 $resource 的 AngujarJS 服务器端分页总计项目
Posted
技术标签:
【中文标题】使用 $resource 的 AngujarJS 服务器端分页总计项目【英文标题】:AngujarJS server-side pagination grand total items using $resource 【发布时间】:2013-10-02 14:56:06 【问题描述】:我正在尝试在 AngujarJS 应用程序上实现服务器端分页,但还没有弄清楚如何在给定 JSON 响应中获取总计(而不是每个请求的总计)项目而无需执行额外请求:
$scope.books = [];
$scope.limit = 3;
$scope.offset = 0;
$scope.search = function ()
Books.query( q: $scope.query, limit: $scope.limit, offset: $scope.offset ,
function (response)
$scope.books = response;
);
;
$scope.previous = function ()
if ($scope.offset >= $scope.limit)
$scope.offset = $scope.offset - $scope.limit;
$scope.search();
$scope.next = function ()
if ($scope.offset <= $scope.limit)
$scope.offset = $scope.offset + $scope.limit;
$scope.search();
我一直在寻找伟大的贡献指令,例如 ng-table
和 ng-grid
,它们已经实现了这个以及其他有用的功能,但我只是希望能够从头开始实现这个功能以真正学习基础知识.
【问题讨论】:
将每个请求返回的响应中的项目总数相加。 @ranru:谢谢,但我相信应该有更好的方法,而不是修改对象集合本身。 如果 JSON 响应包含所有项目,那么您应该能够从长度属性中获取。但是,如果每个它只包含结果的一个子集,我认为除了从服务器获取值之外别无他法。 这是一个子集——这就是$scope.limit
的目的
how to make a server side pagination with angularjs $resource ? 的可能重复项
【参考方案1】:
听起来您在使用 api 的过程中遇到的不仅仅是角度问题。
有关 api 的建议,请参阅下面的答案。
What’s the best RESTful method to return total number of items in an object?
【讨论】:
Django Rest Framework 提供了一个很好的分页结果对象,它提供了total
,以及next
和previous
URL,例如分页结果数组。以上是关于使用 $resource 的 AngujarJS 服务器端分页总计项目的主要内容,如果未能解决你的问题,请参考以下文章
python:运行时使用 pkg_resources 的多个库版本(pkg_resources.VersionConflict 错误)
Vue.js:vue-resource 使用路径参数调用 resource.save()