我承认以下代码非常粗略。任何人都有建议清理它并使其更加可扩展而不使用嵌套表?
<tr data-ng-repeat="data in displayData">
<td data-ng-show="data.name">
{{data.name}}
</td>
<td data-ng-show="data.cols[0]" data-ng-repeat="value in data.cols[0]">
{{value}}
</td>
<td data-ng-show="data.cols[1]" data-ng-repeat="value in data.cols[1]">
{{value}}
</td>
<td data-ng-show="data.cols[2]" data-ng-repeat="value in data.cols[2]">
{{value}}
</td>
<td data-ng-show="data.cols[3]" data-ng-repeat="value in data.cols[4]">
{{value}}
</td>
<td data-ng-show="data.cols[4]" data-ng-repeat="value in data.cols[3]">
{{value}}
</td>
</tr>
答案 0 :(得分:4)
我认为这是你想要实现的目标,但通过查看你的代码我并不完全确定。
<tr data-ng-repeat="data in displayData">
<td data-ng-show="data.name">
{{data.name}}
</td>
<td data-ng-show="column" data-ng-repeat="column in data.cols">
{{ column.value }}
</td>
</tr>
答案 1 :(得分:0)
我所做的实际上是将data.cols压平到控制器中的一个数组。像这样:
var merged = [].concat.apply([], row.cols);
row.cols = merged;
$scope.displayData.push(row);