json - 如何使用 ng-repeat 将以下 json 解析为如下复杂的表结构
问题描述
`
`我有一个表格结构,如附图所示,我的 json 结构是这样的
我可以将表格形成到位置,但无法访问路由器详细信息,因为我没有获得位置变量的范围
这个 JSON 对我来说看起来很复杂,并且无法根据需要获取用于构建表结构的变量范围。我也尝试在表格内形成表格,但由于内部表格标签结束,因此范围也不可用
请帮我形成表格结构
[
{
"regionName": "Australia",
"locations": [
{
"locationname": "sydney",
"routers": [
{
"routername": "S1",
"installed": "1",
"provisioned": "1",
"delata": "2",
"maximum": "2"
},
{
"routername": "S2",
"installed": "1",
"provisioned": "2",
"delata": "2",
"maximum": "2"
}
]
},
{
"locationname": "Honkong",
"routers": [
{
"routername": "H1",
"installed": "1",
"provisioned": "8",
"delata": "6",
"maximum": "9"
},
{
"routername": "Hungeri",
"installed": "1",
"provisioned": "6",
"delata": "5",
"maximum": "9"
}
]
}
]
},
{
"regionName": "India",
"locations": [
{
"locationname": "Banglore",
"routers": [
{
"routername": "T1",
"installed": "1",
"provisioned": "9",
"delata": "5",
"maximum": "4"
},
{
"routername": "T2",
"installed": "1",
"provisioned": "6",
"delata": "5",
"maximum": "9"
}
]
},
{
"locationname": "Mumbai",
"routers": [
{
"routername": "M1",
"installed": "1",
"provisioned": "6",
"delata": "6",
"maximum": "9"
},
{
"routername": "M2",
"installed": "1",
"provisioned": "6",
"delata": "5",
"maximum": "9"
}
]
}
]
}
]
这是我尝试过的
<table>
<thead>
<th> Regions </th>
<th> Location </th>
<th> Routers </th>
</thead>
<tbody ng-repeat="regions in finalJson">
<tr ng-repeat-start="tempLocation in regions.locations"> </tr>
<tr>
<td rowspan=""4>{{regions.regionName}}</td>
<td rowspan="2">
<table>
<tbody>
<tr ng-repeat-start="location in regions.locations">
<td> {{location.locationname}}</td>
</tr>
<tr ng-repeat-end></tr>
</tbody>
</table>
</td>
<td >
<table>
<tbody ng-repeat="router in tempLocation.routers">
<tr>
<td>{{router.routername}}</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr ng-repeat-end></tr>
</tbody>
</table>
解决方案
这里有一个示例plunkr 可以帮助您
<table id="customers">
<thead>
</thead>
<tbody>
<tr>
<th> Regions </th>
<th> Location </th>
<th> Routers </th>
</tr>
<tr ng-repeat="data in dataList">
<td>{{data.regionName}}</td>
<td>
<table>
<tr ng-repeat="location in data.locations">
<td>{{location.locationname}}</td>
</tr>
</table>
</td>
<td>
<table>
<tr ng-repeat="location in data.locations">
<td>
<table>
<tr ng-repeat="route in location.routers">
<td>{{route.routername}}</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
只需检查 css 样式,使其看起来与您在代码中看到的相似。也看看是否div
可能是一个更好的选择table
,这取决于你
推荐阅读
- systemd - 如何停止用户@
.服务安全吗? - sql - How to write case condition to check particular value exist among multiple values in sql?
- marklogic - 为什么添加新林时出现重新平衡错误
- apache - 可以向所有自托管站点添加维护信息横幅
- c# - 使用枚举填充下拉列表
- laravel - 父属性在 Vue 组件中不起作用
- python - 将 Apache Superset 与 Docker 一起使用时缺少 MapBox 令牌
- r - ggplot - extrafonts:无法添加特定的漫威主题字体
- javascript - 打印 HTMLCollection 有效,但 htmlCollection.length = 0
- android - 如何在集成了 Flutter 模块的 Android 应用上运行 UI 测试?