我有一个具有如下数据结构的对象,
data = {};
data[user1] = {
name: "apple",
Company: "001"
};
data[user2] = {
name: "apple",
Company: "002"
};
data[user3] = {
name: "orange",
Company: "003"
};
每当添加新用户时,对象都会更新
我使用ng-repeat迭代此对象以表格格式显示数据,
<table>
<thead>
<tr>
<td>Name</td>
<td>Company</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="(key, value) in data">
<td>{{$parent.data[key].name}}</td>
<td>{{$parent.data[key].Company}}</td>
</tr>
</tbody>
</table>
我试图在表中看到的是,因为&#34; user1&#34;和&#34; user2&#34;有同样的名字,我希望打印一次,行数为2.这是可能的吗?
使用此数据,表格如下所示,
我试图得到的是,
答案 0 :(得分:0)
您看到的是因为您可能将用户的“名称”放在user1变量中。如果我错了请纠正我
使用类似的东西
data = {};
data[user1+""+data.length()] = {
name: "apple",
Company: "001"
};
或使用增量变量
var i = 0;
data = {};
data[user1+""+i] = {
name: "apple",
Company: "001"
};
i++;
或完全删除user1
var i = 0;
data = {};
data[i] = {
name: "apple",
Company: "001"
};
i++
data[i] = {
name: "apple",
Company: "002"
};
答案 1 :(得分:0)
我没有看到使用rowspan的简单方法。但您可以使用angular.filter提供的groupBy过滤器执行此操作:
<table>
<tr ng-repeat='(key, value) in data | groupBy: "name"'>
<td>{{key}}</td>
<td>
<table>
<tr ng-repeat='item in value'>
<td>{{item.Company}}</td>
</tr>
</table>
</td>
</tr>
</table>
这是一个plunk来演示。