我开始学习AngularJS $ resource,并注意到$ resource对象具有一些方法(请参见下面的示例),这些方法附加到从服务器下载的我的数据上。如何删除这些方法并将对象转换为常规(数组)对象?
__proto__: Resource $delete: function (params, success, error) {$get: function (params, success, error) {$query: function (params, success, error) {$remove: function (params, success, error) {$save: function (params, success, error) {constructor: function Resource(value) {toJSON: function () {__proto__: Object
例如,我正在尝试使用$ resource.save发送包含一些键值数据的POST请求,但是数组中的这些“ proto ”项目在某种程度上导致将数据传递给$ .param(data )在工厂。我可以轻松地使用$ http做同样的事情,但想学习$ resource。谢谢!
控制器内部
$scope.ok = function () {
$scope.entry = new calEntry();
$scope.entry.data = data // data is $resource object including _proto_ items
$scope.entry.$save( function(){
toaster.pop('success','Message','Update successfully completed.');
});
};
厂
myApp.factory("calEntry",['$resource','$filter', function($resource, $filter) {
return $resource("/griddata/", {}, {
save: {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
transformRequest: function(data, headersGetter) {
return $.param(data); // data is undefined when it reaches here
}
}
});
}]);
尝试toJSON函数,它将获取数据并删除额外的属性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句