从AngularJS $资源请求获取对象数据,没有资源函数

时间:2014-09-01 10:52:00

标签: javascript angularjs angular-resource

我目前正在尝试从我的控制器Items.query()中的Angular $资源请求中导出CSV项目 - $ resource请求返回一个Angular资源对象数组,这些对象具有额外的函数属性,如下所示:

Resource {_id: "540432e0f2ef60b1284d9187", example: "Stuff", __proto__: Resource $delete: function (params, success....

所以在我的CSV上,我得到了我想要的所有数据,但是这个__proto__属性中有更多杂乱的列。分离出我需要的数据的最佳方法是什么?我是否会使用$ promise.then()添加到query()和内部来修改对象以便对CSV输出安全? 或者我会为服务本身添加一个功能吗?这是api服务:

angular.module('myApp', []).factory('Items', ['$resource', function($resource) {  
  return $resource('api/items/:id', {id: '@_id' }, {  
    update: {
      method: 'PUT'
    }
  });
}]);

所有资源也具有__v: 0的属性,但这不会出现在CSV导出中,有人可以解释为什么不导出但原始资源函数是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

按照@ bmleite的建议,我刚刚使用资源对象的数据创建了一个新数组,选择了我想要的属性。类似的东西:

Label.query().$promise.then(function(data) {
  var csvArray = [];
  for(var i = 0; i<data.length; i++) {
    csvArray[i] = {
      _id: data[i]._id,
      example: data[i].example,
      ......
    };
  }
});