循环遍历JSON文件,该文件具有带ng-repeat的唯一ID

时间:2016-10-15 06:03:21

标签: angularjs angularjs-ng-repeat ng-repeat

我在循环JSON文件时遇到问题。 Ng-重复数据数组,其中每个字段都有唯一的id。

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

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

这种解决方案似乎有效。

3 个答案:

答案 0 :(得分:0)

试试这样。

&#13;
&#13;
var app = angular.module('app',[])
app.controller('ctrl',function($scope){
  
  $scope.data = {
   data: [{
     505: {
           price: "505",
           source: "Amazon"
         },
     456: {
           price: "4555",
           source: "Jet"
         }
    }]
   }
});
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你应该在控制器中使用$ scope变量来绑定数据,改变你的代码,

<强>控制器

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

<强> HTML

<body ng-app='app'>
  <div class="media-list" ng-controller="DemoCtrl">
    <div ng-repeat=" data in fullData.data ">
     {{data}}
    </div>
  </div>
</body>

<强> DEMO

答案 2 :(得分:0)

正如我在评论中提到的那样,不要使用

b_value

使用

Class_a

这将自动绑定视图中的值

就像你做的那样

var fulData 

不是在ng-repeat数据中访问的方式本身就足以像这样访问

$scope.fullData 

这里是js代码

 {{ data[$index]}}

工作演示http://codepen.io/vkvicky-vasudev/pen/yaEEyv