【发布时间】:2014-05-20 12:27:14
【问题描述】:
演示:http://jsfiddle.net/6dJ79/1/
上面的演示有效,但是它通过重复 tbody 来实现结果。我想避免这种情况。
有没有其他方法可以为每种颜色、每个人设置一行而不重复 tbody?理想情况下,我希望在不操作数据的情况下使输出如下所示。
<table>
<thead>
<tr>
<th>Name</th>
<th>Color</th>
<th>Fav</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bill</td>
<td>red</td>
<td>yes</td>
</tr>
<tr>
<td>Bill</td>
<td>blue</td>
<td>no</td>
</tr>
<tr>
<td>Larry</td>
<td>purple</td>
<td>yes</td>
</tr>
<tr>
<td>Larry</td>
<td>yellow</td>
<td>no</td>
</tr>
</tbody>
</table>
数据:
{
name: 'Bill',
colors: [{
name: 'red',
favColor: 'yes'
}, {
name: 'blue',
favColor: 'no'
}]
}, {
name: 'Larry',
colors: [{
name: 'purple',
favColor: 'yes'
}, {
name: 'yellow',
favColor: 'no'
}]
}
【问题讨论】:
-
因为你坚持使用
<table>,你唯一真正的选择是扁平化你的数据,或者使用ng-repeat-start和ng-repeat-end解开HTML中的内部集合。但在这种情况下,这意味着所有people必须具有相同的colours(但答案当然不同)。
标签: javascript html angularjs angularjs-ng-repeat ng-repeat