如何使用角度ng-repeat来跟踪JSON对象?

时间:2017-01-12 19:36:45

标签: javascript angularjs json

我想将headfield值与datafield匹配,并且必须将相应的值提取到表格数据中。

HTML:

<table>
  <thead>
    <tr>
       <th ng-repeat="ReportsHead in ReportsHeadList">
         {{ReportsHead.headerfield = ReportsHead.headfield}}
       </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td ng-repeat="ReportsData in ReportsDataList" 
         ng-if="ReportsHead.headerfield == ReportsData.datafield">           
           {{ReportsData.value}}        
      </td> 
    </tr>
  </tbody>
</table>

JSON数据:

$scope.ReportsHeadList = [
    {
      'headfield':'Contact Name'
    },
    {
      'headfield':'Phone'
    },
    {
      'headfield':'Email'
    }
];

$scope.ReportsDataList = {
    [
      {
        'datafield':'Contact Name',
        'value':'Gunaseelan'
      },
      {
        'datafield':'Phone',
        'value':'8122911043'
      },
      {
        'datafield':'Email',
        'value':'G@gmail.com'
      }
    ],
    [
      {
        'datafield':'Contact Name',
        'value':'Gunaseelan'
      },
      {
        'datafield':'Phone',
        'value':'8122911043'
      },
      {
        'datafield':'Email',
        'value':'G@gmail.com'
      }
    ]
};

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,你应该用JSON.parse(json)解析你的Json,并将结果赋值给变量。例如: $scope.json = JSON.parse(json)

之后,您可以使用for循环或地图检查匹配的headfield和数据字段,例如:

for(i in headfield) { if (i === something) return i }

希望答案能提供帮助,如果不发表评论,

祝你好运!