我使用AngularJS中的$ resource获取数据。
但是,它在结果中添加了两个额外的属性$ promise和$ resolved。以下是我的代码。我怎么能绕过这个?
myStoreCheckoutService.factory('Checkout',function($resource){
return $resource('assets/app/data/billing/:file.json', {}, {
getSalexTax: {method:'GET', params:{file:'sales-tax'}, isArray:false}
});
})
myStoreCheckoutControllers.controller('myStoreCheckoutCtrl',function($scope,Checkout){
$scope.states=[];
$scope.saleTaxMaster=Checkout.getSalexTax((function(){
console.log($scope.saleTaxMaster);
getStates();
}));
function getStates(){
for(var x in $scope.saleTaxMaster){
if($scope.saleTaxMaster.hasOwnProperty(x)){
$scope.states.push(x);
}
}
}
})
这里我的$scope.saleTaxMaster
同时拥有这两个属性。
答案 0 :(得分:0)
这是$ resource的设计/功能。如果这是一个问题,您可以跳过以$开头的属性,这是一些Angular函数中的常见模式,如angular.toJson(x)
。这就是当您将修改后的实体发送回服务器时,Angular本身如何保持$ promise和$ resolve的出现。另一种方法是使用$ http,它不会修改返回的对象。