2016-05-26 17 views
0

私はAngularJSを使って簡単なアプリケーションを開発しています。価格の価値を動的に取得したいのは、jsonデータから取得することです。これは可能ですか?json urlから値を取得

これは私のdata.jsonです:

{ 
    "prix": { 
     "prix_diesel": "8.54", 
     "prix_essence": "10.30", 
     "prix_aditive": "0.00" 
    } 
} 

そして、これは私のコントローラです:私は、検索plunkr

:私は私のplunkrでこれを設定する

angular.module("myApp",['zingchart-angularjs']).controller('MainController', ['$scope', '$http', function($scope, $http) { 

    $scope.cities =[{ 
    "name": "city A", 
     "elements": [{ 
      "id": "c01", 
      "name": "name1", 
      "price": "15",//I want to get this price from the data.json. Get it from the value of prix_diesel attribute 
      "qte": "10" //I want to get this price from the data.json. Get it from the value of prix_essence attribute 
     }, { 
      "id": "c02", 
      "name": "name2", 
      "price": "18", 
      "qte": "11" 
     }, { 
      "id": "c03", 
      "name": "name3", 
      "price": "11", 
      "qte": "14" 
     }], 
     "subsities": [{ 
      "name": "sub A1", 
      "elements": [{ 
      "id": "sub01", 
      "name": "nameSub1", 
      "price": "1", 
      "qte": "14" 
      }, { 
      "id": "sub02", 
      "name": "nameSub2", 
      "price": "8", 
      "qte": "13" 
      }, { 
      "id": "sub03", 
      "name": "nameSub3", 
      "price": "1", 
      "qte": "14" 
      }] 
     }, { 
      "name": "sub A2", 
      "elements": [{ 
      "id": "ssub01", 
      "name": "nameSsub1", 
      "price": "1", 
      "qte": "7" 
      }, { 
      "id": "ssub02", 
      "name": "nameSsub2", 
      "price": "8", 
      "qte": "1" 
      }, { 
      "id": "ssub03", 
      "name": "nameSsub3", 
      "price": "4", 
      "qte": "19" 
      }] 
     }, { 
      "name": "sub A3", 
      "elements": [{ 
      "id": "sssub01", 
      "name": "nameSssub1", 
      "price": "1", 
      "qte": "11" 
      }, { 
      "id": "sssub02", 
      "name": "nameSssub2", 
      "price": "2", 
      "qte": "15" 
      }, { 
      "id": "sssub03", 
      "name": "nameSssub3", 
      "price": "1", 
      "qte": "15" 
      }] 
     }] 
     }, { 
     "name": "city B", 
     "elements": [{ 
      "id": "cc01", 
      "name": "name11", 
      "price": "10", 
      "qte": "11" 
     }, { 
      "id": "cc02", 
      "name": "name22", 
      "price": "14", 
      "qte": "19" 
     }, { 
      "id": "cc03", 
      "name": "name33", 
      "price": "11", 
      "qte": "18" 
     }] 
     }, { 
     "name": "city C", 
     "elements": [{ 
      "id": "ccc01", 
      "name": "name111", 
      "price": "19", 
      "qte": "12" 
     }, { 
      "id": "ccc02", 
      "name": "name222", 
      "price": "18", 
      "qte": "17" 
     }, { 
      "id": "ccc03", 
      "name": "name333", 
      "price": "10", 
      "qte": "5" 
     }] 
     }] 

    $scope.extractSubsities = function(itemSelected) { 
    if(itemSelected && itemSelected.elements){ 
     $scope.data = itemSelected.elements; 
    } 

    } 

}]); 

URLからデータを取得したい場合は、XMLHttpRequest(A ngular、$ http.getを使用できます)。何か考えてください!

答えて

0

私が正しくあなたの質問を理解していれば、あなたが必要です

$http({method: 'GET', url: 'data.json'}) 
.then(function(data) { 
    if($scope.cities && $scope.cities[0] && $scope.cities[0].elements && $scope.cities[0].elements[0]){ 
     $scope.cities[0].elements[0].price = data.data.prix.prix_diesel; 
     $scope.cities[0].elements[0].qte = data.data.prix.prix_essence; 
    } 
}); 

plunkr

+0

が 'SUCCESS'が廃止されました...あなたはそれを使用することをお勧めしてはなりません – charlietfl

+0

しかし、都市Aの価格の価値はまだ15です。私はdata.jsonから、そしてprix_dieselの値から正確に(8.54) – Abderrahim

+0

の価値を得たいと思っています。@charlietfl - ありがとう、私それを知らなかった。 – user3335966

0

あなたのマークアップ:

<div ng-repeat="item in cities"> 
Price: {{item.cities.price}}<br /> 
Quantity: {{item.cities.qte}}</div> 
+0

多分あなたは私の質問を理解していないかもしれません、多分私はあなたの答えのためにとにかくそれを説明しなかった – Abderrahim

関連する問題