【发布时间】:2015-06-22 22:28:30
【问题描述】:
我有以下带有嵌套元素的 JSON
[
{
"firstName": "John",
"lastName": "Smith",
"gender": "m",
"places": [{
"name": "London",
"contacts": [{
"type": "phone",
"value": "123456789"
},{
"type": "email",
"value": "johnsmith@example.com"
}]
}, {
"name": "Paris",
"contact": [{
"type": "phone",
"value": "987654321"
}]
}]
},
{
"firstName": "Jane",
"lastName": "Doe",
"gender": "f",
"places": [{
"name": "Paris",
"contacts": [{
"type": "email",
"value": "janedoe@example.com"
}]
}]
}
]
我正在尝试使用 AngularJS 和 ng-repeat 在 HTML 表格中显示它,如下所示:
姓名 地点 电子邮件 电话 -------------------------------------------------- -------- Jonh Smith 伦敦 smith@example.com 123456789 巴黎 987654321 Jane Doe Paris doe@example.com有没有一种很好的方法(一次性 - 没有太多嵌套循环)或者我真的应该在每个“td”元素中一遍又一遍地循环接触?
编辑:我在这里寻找像this 这样的答案,我想出的唯一“解决方案”(如果我什至可以称之为)是在每个“表数据”元素中迭代位置及以上,因此,如果每个人有 3 个位置和 4 个电话/电子邮件,则每个单元格将进行 12 次迭代或每人(行)进行 48 次迭代。
在 ng-repeat 中真的没有聪明的方法来做到这一点,还是我应该放弃嵌套 JSON 的表格布局?
【问题讨论】:
-
你可以对你想要的值的 td 做一个 ng-bind 并给它一个函数。该函数将获取您要显示的数据数组,从中提取数据并将其作为字符串返回。保持您的 HTML 模板干净。
标签: angularjs json html-table angularjs-ng-repeat