AngularJS $资源正在添加$ resolve和$ promise

时间:2014-07-26 23:23:49

标签: javascript angularjs

我使用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同时拥有这两个属性。

1 个答案:

答案 0 :(得分:0)

这是$ resource的设计/功能。如果这是一个问题,您可以跳过以$开头的属性,这是一些Angular函数中的常见模式,如angular.toJson(x)。这就是当您将修改后的实体发送回服务器时,Angular本身如何保持$ promise和$ resolve的出现。另一种方法是使用$ http,它不会修改返回的对象。