0
的第一個片段顯示了我想要的輸出:採用NG-重複創建嵌套表
<table>
<tr>
<th rowspan="2">Name</th>
<th rowspan="2">Place</th>
<th colspan="3">Date1</th>
<th colspan="3">Date2</th>
</tr>
<tr>
<th>DD</th>
<th>MM</th>
<th>YYYY</th>
<th>DD</th>
<th>MM</th>
<th>YYYY</th>
</tr>
<tr>
<td>Test</td>
<td>US</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>09</td>
<td>2017</td>
</tr>
</table>
在這個片斷我試圖執行表的創建。 $scope.tableData
保存數據。我使用屬性tableHead
來初始化表頭。在我的用例var1
,var2
和var3
總是存在,但var3
的嵌套屬性可以是可變的。這意味着有時可能會有一個var5_4
或一個Date3
。此外,數據並不總是包含tableHead中指定的所有屬性。由於這個問題,我正在尋找一種方法來創建我的表。
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.tableData = {
'tableHead': {
'var1': 'Name',
'var2': 'Place',
'var3': [{
'var4': 'Date1',
'var5': [{
'var5_1': 'DD'
}, {
'var5_2': 'MM'
},
{
'var5_3': 'YYYY'
}
]
}, {
'var4': 'Date2',
'var5': [{
'var5_1': 'DD'
}, {
'var5_2': 'MM'
}, {
'var5_3': 'YYYY'
}]
}]
},
'tableData': [{
'var1': 'Test',
'var2': 'US',
'var3': [{
'var4': 'Date2',
'var5': [{
'var5_2': '09',
'var5_3': '2017'
}]
}]
}]
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<table>
<tr>
<th rowspan="2">Name</th> <!--always present, no need for ng-repeat-->
<th rowspan="2">Place</th> <!--always present, no need for ng-repeat-->
<th ng-repeat="x in tableData.tableHead.var3" colspan="x.var5.length" >{{x.var4}}</th>
</tr>
<!-- how to create the second table head row !? -->
<!-- how to create the data rows !? -->
</table>
</div>
但是如果有可能下一次在數據'd.date3.dd'和'd.date3.mm'和'd.date3.yyyy'或者d.date3.yyyy或者更多的日期。這個解決方案太僵化了。 – d4rty
那麼_dateX_元素數沒有限制? –
是的,沒有限制 – d4rty