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

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

var myFarm = $ scope.farms;angularjsで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のような非同期関数で変数を扱うにはどうすればよいですか?

+0

は、あなただけの '$ scope.farms =データを行うにはしたくない。代わりに' '戻りデータの;'(何もしないもの)。 – tcooc

+0

それは、農場のことです。長さは未定義のエラー – 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

関連する問題