从AngularJS $资源请求中获取对象数据,但没有资源功能

问题描述:

我正在尝试从我的控制器中的角度$资源请求中导出CSV项目Items.query() - $ resource请求返回一个Angular资源对象数组,有额外的功能特性,像这样:

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

所以在我的CSV我得到我想要的数据,但在此__proto__属性额外凌乱列。分离出我需要的数据的最佳方式是什么?我会使用一个$ promise.then()添加到查询()和内部修改的对象是安全的CSV输出? 或者我会添加一个函数到服务本身吗?这是API服务:

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

所有的资源也有__v: 0的属性,但这并不出现在CSV出口,有人可以解释为什么这不出口的,但原资源功能?

谢谢!

+0

为什么不定义要导出到CSV的属性列表?这是确保所有CSV条目具有相同信息的唯一方法。 – bmleite 2014-09-01 11:04:49

+0

嗨@bmleite,所以你的意思是为每一个与我感兴趣的属性创建一个新的对象?像 'var objArr; (var i = 0; i 2014-09-01 11:41:31

遵循@ 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, 
     ...... 
    }; 
    } 
});