bat*_*man 8 django pagination angularjs django-rest-framework restangular
在DRF中我已经将分页限制添加到100,'PAGINATE_BY': 100,
因为Restangular期望数组形式的结果,我必须在我的角度应用程序模块中使用以下元提取器函数
var app = angular.module("myapp", ["restangular"].config(function(
RestangularProvider){
RestangularProvider.setResponseExtractor(function(response, operation, what, url) {
if (operation === "getList") {
var newResponse = response.results;
newResponse._resultmeta = {
"count": response.count,
"next": response.next,
"previous": response.previous
};
return newResponse;
}
return response;
});
});
Run Code Online (Sandbox Code Playgroud)
我的控制器看起来像
app.controller('DataCtrl',function($scope, Restangular){
var resource = Restangular.all('myapp/api/dataendpoint/');
resource.getList().then(function(data){
$scope.records = data;
});
}
Run Code Online (Sandbox Code Playgroud)
控制器中没有元信息,如果有超过100条记录,我该如何分页?
我想你可以简单地调用:
RestangularProvider.addResponseExtractor(function(data, operation, what, url, response) {
if (operation === "getList") {
data._resultmeta = {
"count": response.count,
"next": response.next,
"previous": response.previous
};
return data;
}
return response;
});
Run Code Online (Sandbox Code Playgroud)
和
var page = 2;
var resource = Restangular.all('myapp/api/dataendpoint/');
resource.getList({page: page}).then(function(data){
console.log(data._resultmeta.next ? 'there is more pages' : 'You reach the end');
});
Run Code Online (Sandbox Code Playgroud)
我不习惯,Rectangular但Django Rest Framework 支持从查询参数分页
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |