javascript - ng-repeat 对象数组内的对象数组

标签 javascript jquery angularjs angularjs-ng-repeat

当对象位于数组内部并且该数组位于另一个对象数组内部的对象内部时,我在使用 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/

相关文章:

javascript - 使用钢笔工具在 Canvas 上流畅地绘制一条线,而无需重新绘制所有其他线

javascript - 如何将局部变量声明为全局变量

javascript - 如何遍历特定标签内的每个标签?

javascript - 为 zepto.js 重写一个插件

javascript - 自动向下滚动 angularjs

c# - 将 Angularjs 表达式/变量作为路由参数传递给 asp.net mvc 操作链接

javascript - 如何通过for循环的索引绑定(bind)到数组元素?

javascript - 我怎样才能让一个div在点击时展开,一次只打开一个?

javascript - 在范围对象中定义但不可访问的属性

javascript - 我在 ajax 成功中收到我的数据如何在表中显示 jquery 数据