我的模板代码:
<tr ng-repeat="row in dataList">
<tr ng-repeat-start="row in dataList[$index].data" ng-if="dataList.data.[columnDisplayData[$index].colName].showRow">
我的 Json数据对象:
{
"reportId":1,
"tableData":
[
{
"data":{
"data":[
{
"Comp Set(Group)":{
"showRow":true,
"row":{
"sunday":7.1,
"saturday":19.1,
"total":"19.3",
"tuesday":23.4,
"weekend":"19.9",
"weekday":"19.0",
"friday":20.7,
"thursday":23.2,
"wednesday":23.4,
"monday":17.9
}
},
"%C(Transient)C":{
"showRow":true,
"rowName":"per_C_ransient_C",
"row":{
"sunday":"-15.5",
"saturday":"18.9",
"total":"-4.5",
"tuesday":"-14.4",
"weekend":"12.6",
"weekday":"-11.4",
"friday":"6.4",
"thursday":"2.1",
"wednesday":"-21.2",
"monday":"-7.8"
}
}
}
]
},
"hotelName":"XYZ"
},
...
]
}
我希望ng-repeat
用于数据数组,然后用ng-repeat
hotelName
。
首先,{strong> hotelName 上的ng-repeat
,然后是相同jsonObject的数据。
拜托,建议我这个。
我的预期格式应如下表所示
hotelName
Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday
data data
hotelName
Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday
hotelName
Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday
答案 0 :(得分:0)
在控制器中使用此功能,并在$scope.arr
ng-repeat
$ scope.arr = new Array(); $ scope.setData = function(){
for(i = 0 ; i < $scope.dataList.tableData.length ; i++){
for(j= 0 ; j < $scope.dataList.tableData[i].data.data.length ; j++){
$scope.arr[i] ={"hotelName":$scope.dataList.tableData[i].hotelName , "days":$scope.dataList.tableData[i].data.data[j]['Comp Set(Group)'].row};
}
}
}
查看:
旅馆 星期一 星期二 星期三 星期四 星期五 星期六 星期日 总 周末 平日答案 1 :(得分:0)
您在ng-repeat
中有一点误解。
您可以传递给以后ng-repeat
,已经从前一个ng-repeat
解析的对象;所以,如果你有类似的东西:
$scope.data = {
key1: {},
key2: {}
}
在你的html中写这个:
<tr ng-repeat="d in data">
<td ng-repeat="(key, value) in d">
{{key}}: {{value}}
</td>
</tr>
表示:“嘿Angular,在第一个ng-repeat
中为我提供$scope.data
中的所有对象并为每个对象创建tr
;然后,在第二个ng-repeat
中给我第一个ng-repeat
给你的对象的所有键和相关值,并为每个键创建一个td
“
无论如何,要实现目标,您需要在表格中嵌套一些表格,如plunkr所示。通过这种方式,您可以使用json获得所需的视图。