当对象位于数组内部并且该数组位于另一个对象数组内部的对象内部时,我在使用 ng-repeat 重复对象的属性时遇到问题,如下所示:
$scope.myJson = [{'id':1,'date':2,'nikola':[{'title':'a', 'name':'b'},{'title':'v', 'name':'b'},{'title':'d', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'}]},
{'id':1,'date':2,'nikola':[{'title':'r', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'}]},
{'id':1,'date':2,'nikola':[{'title':'z', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'}]}];
<div ng-repeat='json in myJson'>
<p>{{json.id}}</p>
<p>{{json.date}}</p>
<p>{{json.nikola.title}}</p>
</div>
json.nikola.title
并未显示每个 nikola 数组中的每个标题。
感谢您的帮助。
最佳答案
您没有得到输出的原因是您尝试将数组输出为单个值。如果您想要数组中的每个值,也可以对其使用 ng-repeat
。
当使用ng-repeat
时,你会迭代一个数组。由于您的第一个目标是使用 ID 迭代主数组,因此可以使用
<div ng-repeat="item in myJson"></div>
你把这个记下来了。此外,您还想对每个项目的数组进行迭代。与之前相同:
<div ng-repeat="subitem in item.nikola"></div>
给你了。
<div ng-repeat="item in myJson">
<div ng-repeat="subitem in item.nikola">
</div>
</div>
然后,您可以根据需要访问每个中继器上的属性。
参见this plunker for a running example关于您的数据。
关于javascript - ng-repeat 对象数组内的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35878873/