演示: 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>
,您唯一的真正选择是将数据展平或在HTML中解开内部集,使用ng-repeat-start
和ng-repeat-end
。但在这种情况下,这意味着所有的“人”必须拥有相同的“颜色”(当然不是相同的答案)。 - Norguard