angularjs - 使用 $resource.query,我想返回一个包含实际资源数组的对象

标签 angularjs angular-resource

默认情况下,$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/

相关文章:

javascript - Angular 2.0 cli 项目没有导出 mng 'RouterConfig'

javascript - 如何修改对象数组中的json对象

javascript - Angular ng-max 绑定(bind)问题

javascript - 从 $resource.get Promise 中提取 JSON 对象

javascript - 使用 promise 对象中止 ngResource

javascript - AngularJS 商业网站

javascript - 在 livequery 中初始化用户类

angularjs - HTTP post 方法在 IE11 中不起作用

javascript - 在服务中等待 Angular JS (REST -> $resource)

angularjs - 使 angularjs $resource 返回 [OO] 对象的数组