2016-10-15 3 views
1

JSONファイルのループ処理に問題があります。それぞれのフィールドに固有のIDがあるデータ配列を介してNg-repeatを実行します。ng-repeatで一意のIDを持つJSONファイルをループします。

var fullData = { 
     data: [{ 
     505: { 
      price: "505", 
      source: "Amazon" 
     }, 
     456: { 
      price: "4555", 
      source: "Jet" 
     } 
     }] 
    } 

<div ng-repeat="data in fullData.data"> 
{{ data[$index]}} 
</div> 

この溶液の用量はうまくいくようです。

+0

あなたの問題は何ですか? –

+0

あなたはこのjson strctureを変更できませんか?あなたはこの { データのようなJSON strcutureを変更する別の方法..私は考えます:[ { \t ID:505 価格: "505"、 ソース: "アマゾン" }、 \t { \t ID: 890 価格:「4555」、 ソース:「ジェット」 } ] が}ここ –

+0

@rebelloは、ビューでそれを使用したい場合には、この試すスコープ変数の最初の変更する必要がありますが、VaRのfullDataを与えている間違いです$ scope.fullDataにする必要があります –

答えて

0

このようにしてください。

var app = angular.module('app',[]) 
 
app.controller('ctrl',function($scope){ 
 
    
 
    $scope.data = { 
 
    data: [{ 
 
    505: { 
 
      price: "505", 
 
      source: "Amazon" 
 
     }, 
 
    456: { 
 
      price: "4555", 
 
      source: "Jet" 
 
     } 
 
    }] 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="app" ng-controller="ctrl"> 
 
     <div ng-repeat="(key,value) in data.data"> 
 
     <div ng-repeat="(k,v) in value"> 
 
      {{v.price}}: 
 
      {{v.source}} 
 
     </div> 
 
     </div> 
 
</div>

+0

理由を書いてください! –

0

あなたは

、このようなあなたのコードを変更し、データをバインドするために、コントローラで$スコープ変数を使用する必要がありますコントローラ

app.controller("DemoCtrl", ["$scope", 
    function($scope) { 
    $scope.fullData = { 
     data: [{ 
     505: { 
      price: "505", 
      source: "Amazon" 
     }, 
     456: { 
      price: "4555", 
      source: "Jet" 
     } 
     }] 
    } 
    } 
]); 

HTML

0123私はコメントで述べたように
<body ng-app='app'> 
    <div class="media-list" ng-controller="DemoCtrl"> 
    <div ng-repeat=" data in fullData.data "> 
    {{data}} 
    </div> 
    </div> 
</body> 

DEMO

0

は使用いけない

var fulData 

これは自動的にビューに値をバインドします

$scope.fullData 

使用

あなたは
{{ data[$index]}} 

がNGリピートデータ自体にアクセスするための方法ではありませんでした、ここでこの

<div ng-repeat="data in fullData.data"> 
    {{$index}} 
{{ data}} 
    </div> 

などのアクセスには十分であるとして210

は作業JSコード

$scope.fullData = { 
    data: [{ 
    505: { 
     price: "505", 
     source: "Amazon" 
    }, 
    456: { 
     price: "4555", 
     source: "Jet" 
    } 
    }] 
} 

ですデモhttp://codepen.io/vkvicky-vasudev/pen/yaEEyv

関連する問題