2016-10-25 2 views
-2
main.js 

var myFarm = $http.get('farmList.JSON').success(function(data) { 
     $scope.farms= data; 
    }); 

var myFarm = $ scope.farms;각도 json에서 json을 읽는 방법, 변수에 할당하고 변수에 작업

var updateFarms = function(){ 
for (i = 1; i <= myFarm.length; i++) 
      { 
       // code to update farms 
       var sFarm = myFarm[i - 1]; 
       //loop thru myFarm and update it 
       $scope.farms = myFarm; //assign updated farms back to farms 
      } 
} 

farmList.json 
[ 
     {"farmName": "A", "type": "B"}, 
     {"farmName": "C", "type": "D"} 
] 

나는 복사본을 보관할 수 있도록 json을 변수에 넣을 수 있기를 원합니다. 팜이 업데이트되면 myFarm을 새 팜으로 업데이트 할 수 있어야합니다. http.get과 같은 비동기 func에서 변수를 사용하려면 어떻게해야합니까?

+0

당신은'$ scope.farms의 = 데이터를하고 싶지하지 마십시오'대신 반환 데이터'의;'(아무것도 안 함). – tcooc

+0

그랬 으면, farms.length 정의되지 않은 오류가 발생했습니다 – LisaA

+0

언제'updateFarms'를 호출합니까? 또한,'myFarm'을 변경하여 더 잘 작동하게해야합니다. – tcooc

답변

1

$http.get 약속을 반환합니다. then()을 평가하고 그 결과를 받아 범위 변수에 지정해야합니다. 모두를위한

http.get('farmList.JSON').then(function(data) { 
    $scope.farms = data; 
}); 
0

사용 $scope.farms :

$scope.farms = []; 
$http.get('farmList.JSON').success(function(data) { 
    $scope.farms= data; 
}); 

var updateFarms = function() { 
for (i = 1; i <= $scope.farms.length; i++) 
      { 
       // code to update farms 
       var sFarm = myFarm[i - 1]; 
       //loop thru myFarm and update it 
      } 
}; 
+0

감사합니다. – LisaA

관련 문제