我想在表格中使用两个不同的ng-repeat循环,以便将不同的对象分组,但实际上并不知道该怎么做。
我的代码现在:
...
<tbody>
<tr ng-repeat="person1 in Array1">
<td>{{ person1.address }}</td>
<td>{{ person1.city}}</td>
<td>{{ person1.email}}</td>
</tr>
<tr ng-repeat="person2 in Array2">
<td>{{partner2.address }}</td>
<td>{{partner2.city}}</td>
<td>{{partner2.email}}</td>
</tr>
</tbody>
...
我的目标是结果/表:
person1[1].address | person1[1].city | person1[1].email
---------------------------------------------------------------
person2[1].address | person2[1].city | person2[1].email
---------------------------------------------------------------
person1[2].address | person1[2].city | person1[2].email
---------------------------------------------------------------
person2[2].address | person2[2].city | person2[2].email
---------------------------------------------------------------
也就是说,我想在推出person1 [2]之前将ng-repeat放到person1 [1]和person2 [1]之外。
解决方案是添加外部数组,包含我的两个当前数组还是有更好的解决方案?
最好的问候
答案 0 :(得分:2)
假设你可以确保你的数组没有空值并且长度相同,你可以使用这种技术:
创建一个初始化为其他两个数组长度的新数组,并对其进行迭代以得到$index
。
将ng-repeat放在正文上(表中可以有多个body
元素。)
你会得到这样的东西:
var counterArray = new Array(array1.length);
<tbody ng-repeat="item in counterArray">
<tr>
<td>{{ Array1[$index].address }}</td>
<td>{{ Array1[$index].city}}</td>
<td>{{ Array1[$index].email}}</td>
</tr>
<tr >
<td>{{ Array2[$index].address }}</td>
<td>{{ Array2[$index].city}}</td>
<td>{{ Array2[$index].email}}</td>
</tr>
</tbody>
在这些阵列上使用getter函数可能更安全:
getData(index,array,value)
可以防止发生任何空错误。