默认情况下,$resource.query()
设置为期望成为 $resource
对象的对象数组。为了以一种良好、安静的方式适应分页,我将 GET/api/widgets
端点设置为返回以下对象:
{
currentPage: 1,
perPage: 20,
totalItems: 10039,
items: [{...}, {...}, {...}]
}
有没有办法让 Angular 知道 items
属性是要成为 $resource
对象的项目数组?
最佳答案
您需要指定自己的自定义操作。
我想你的代码看起来像这样:
factory('Widget', function($resource) {
return $resource('/api/widgets');
});
将其更改为:
factory('Widget', function($resource) {
return $resource(/api/widgets, null, {
query: {
method: 'GET',
isArray: true,
transformResponse: function(data) {
return angular.fromJson(data).items;
}
}
});
});
关于angularjs - 使用 $resource.query,我想返回一个包含实际资源数组的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28156121/