使用带有指令的 ng-repeat 创建一个适应数据的 table
Using ng-repeat with directives to create a table that adapts to data
我有一个 table,它使用 ng-repeat 遍历对象数组。数组中的所有对象都具有相同的键。我想让它可以使用任意一组键,只要键在该数组中是一致的。看来我需要一个指令来生成并附加
<td>{{key}}</td>
根据需要,可能通过遍历 Object.keys(array[0]).
例如,table 可以接受以下任一结构:
{ date: 1425535595000, name: "Name", desc: "some description" }
{ a: "a", b: "b", c: "c", d: "d" }
将相应地生成适当的绑定:
<tr ng-repeat="obj in objects">
<td>{{date}}</td><td>{{name}}</td><td>{{desc}}</td>
</tr>
或
<tr ng-repeat="obj in objects">
<td>{{a}}</td><td>{{b}}</td><td>{{c}}</td><td>{{d}}</td>
</tr>
我在指令方面有点弱,而且我不是 100% 确定最好的方法。我应该怎么做?
您需要使用两个 ngRepeat 指令,一个用于行,一个用于 table 个单元格:
<tr ng-repeat="obj in objects">
<td ng-repeat="(key, value) in obj">{{value}}</td>
</tr>
我有一个 table,它使用 ng-repeat 遍历对象数组。数组中的所有对象都具有相同的键。我想让它可以使用任意一组键,只要键在该数组中是一致的。看来我需要一个指令来生成并附加
<td>{{key}}</td>
根据需要,可能通过遍历 Object.keys(array[0]).
例如,table 可以接受以下任一结构:
{ date: 1425535595000, name: "Name", desc: "some description" }
{ a: "a", b: "b", c: "c", d: "d" }
将相应地生成适当的绑定:
<tr ng-repeat="obj in objects">
<td>{{date}}</td><td>{{name}}</td><td>{{desc}}</td>
</tr>
或
<tr ng-repeat="obj in objects">
<td>{{a}}</td><td>{{b}}</td><td>{{c}}</td><td>{{d}}</td>
</tr>
我在指令方面有点弱,而且我不是 100% 确定最好的方法。我应该怎么做?
您需要使用两个 ngRepeat 指令,一个用于行,一个用于 table 个单元格:
<tr ng-repeat="obj in objects">
<td ng-repeat="(key, value) in obj">{{value}}</td>
</tr>