如何在没有方法的情况下将 Angular $resource 对象转换为常规对象
How to convert Angular $resource object to regular object without methods
我开始学习 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) 时变为 "undefined" 。我可以轻松地使用 $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 函数,它将获取数据并删除多余的属性。
我开始学习 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) 时变为 "undefined" 。我可以轻松地使用 $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 函数,它将获取数据并删除多余的属性。