【发布时间】:2023-03-22 09:15:02
【问题描述】:
我有一些格式如下的数据:
[name:'Name1', speed:'Val1', color:'Val2']
[name:'Name2', speed:'Val4', color:'Val5']
[name:'Name3', speed:'Val6', color:'Val7']
我想在这样的表格中显示:
|Name1|Name2|Name3|
______|_____|______
speed |Val1 |Val4 |Val6
color |Val2 |Val5 |Val7
我试图做的是将我的数据像这样在控制器中分组:
$scope.data = {
speeds: [{
...
},{
...
},{
...
}],
colors: [{
...
},{
...
},{
...
}],
};
但我不确定在空白区域内放置什么,因为那里的所有值都代表所有名称(帐户)的 'val1' 变量的值,我的测试直到现在一直失败。
您可以将其想象为某种比较矩阵,用于查看不同帐户中同一变量的所有值。
如何在我的模型中表示数据,以便按照说明成功地将它们显示在表格中?
编辑 我的困难在于您通过逐行创建表格,所以我的 html 看起来像这样:
<table md-data-table class="md-primary" md-progress="deferred">
<thead>
<tr>
<th ng-repeat="header in headers">
{{header.value}}
</th>
</tr>
</thead>
<tbody>
<tr md-auto-select ng-repeat="field in data">
<td ng-repeat="var in field">{{var.value}}</td>
</tr>
</tbody>
</table>
如您所见,我对每一行都有一个循环,对每一行的每个值都有一个循环。如果我想水平显示数据,这会更容易,但我想要垂直显示数据。因此,如果我们在谈论汽车时,我们会将汽车模型作为标题,并在每一行中显示它们各自的特征(速度、颜色等)。
【问题讨论】:
-
我不会担心更改数据以适应格式。更改格式以适应数据。请参阅此问题的公认答案:stackoverflow.com/questions/16918094/…
-
看起来很有趣的方法,我会做一些测试。
-
如果它没有意义或没有按预期工作,请告诉我。我现在做不到,但今天晚些时候我可以使用您在上面发布的虚拟数据编写一个快速演示!
-
我想我明白了,这是一个不错的方法,但我仍然无法使其工作,因为数据位于范围内的不同变量中,我只能遍历其中一个。或者因为我累了,所以我把这件事弄得太复杂了。)
标签: javascript angularjs angular-material