AngularJS嵌套ng-repeat的复杂JSON数据

时间:2015-10-07 15:18:36

标签: json angularjs

我尝试将嵌套的JSON数据访问嵌套的JSON数据。我使用ng-repeat,它适用于嵌套的JSON数据,但不适用于嵌套的嵌套。

我想要捕获的数据是服务器URL及其名称。

<tr ng-repeat="site in dT.data.sites">
  <td>{{ site.siteName }}</td>
  <td><span ng-repeat="country in site.countries">{{ country.country + ' '}}<br><br></span></td>
  <!-- Does not work -->
  <td><span ng-repeat="country in site.countries">{{ country.masters.name }}</span></td>
  <!-- Works, but displays only the first element of the array because of the [0] -->
  <td><span ng-repeat="country in site.countries">{{ country.masters[0].name }}</span></td>
  <!-- Does not work -->
  <td><span ng-repeat="master in site.countries.masters">{{ master.name }}</span></td>
  <td></td>
  <td></td>
</tr>

PLUNKER

也许我必须使用if ... else方法的函数。 或者使用服务,但我更喜欢使用ng-repeat。

2 个答案:

答案 0 :(得分:1)

您必须在另一个ng-repeat内进行ng-repeat。像这样:

<td><span ng-repeat="country in site.countries"><span ng-repeat="master in country.masters">{{ master.name }}<br /></span></span></td>

我已经对您的plunker进行了更改以显示此工作: http://plnkr.co/edit/PdHesQRAeEMq38AgjxTm?p=preview

答案 1 :(得分:1)

这是你在找什么?

<td><span ng-repeat="country in site.countries[0].masters">{{ country.server + ':' + country.name + ', ' }}</span></td>

请参阅plunker