2014-07-08 131 views
3

我有一个API搭载Django的REST框架,我也使用默认的分页选项:角和Django的REST框架

{ 
    "count": 40, 
    "next": "http://127.0.0.1:8000/api/task/?page=2", 
    "previous": null, 
    "results": [{},{}...] 
} 

在角度方面,我使用ngResource消耗我的室内用API下面的代码:

var task_resource = $resource('/api/task/:taskId/', {taskId:'@id'},{ 
    query : { 
    method : 'GET', 
    isArray : false 
    } 
}); 

我只是希望能够,当用户点击“下一步”按钮或向下滚动到页面查询“下一个页面,直到最后的底部。我知道我只需要在“下一个”字段进行GET,但如果我这样做,我就不会使用我定义的$资源。

我想知道角度和API这种常见模式的解决方案是什么。

回答

0

由于'下一个'网址是绝对的,您可以简单地使用angular的内置$ http服务来处理这些请求。像$http.get(data.next).success(function(data){});

另一种方式事情是创建自己的自定义分页串行如下所述:http://www.django-rest-framework.org/api-guide/pagination#custom-pagination-serializers

那么你就需要创建自己的NextPageField的版本,并使其输出没有域的一部分。

为NextPageField的标准实现可以在这里找到: https://github.com/tomchristie/django-rest-framework/blob/560f428e24c7676c660114c2daa6017ff61074ad/rest_framework/pagination.py