我有一个对象我试图迭代并且无法嵌套ng-repeats
$scope.report_data = {
data [
system_0: [
0: "string",
1: 435,
2: "another value"
]
],
headers [
0: [
0:"title"
1: "CHA"
]
]
}
我正在尝试构建一个包含标题的表格,并且每个数据都映射到标题。
我现在所拥有的是
<table>
<thead>
<tr>
<th ng-repeat="header in report_data.headers">{{ header.0 }}</th>
</tr>
</thead>
<tbody>
<tr>
<td ng-repeat="system in report_data.data">
<span ng-repeat="_item in system">{{ _item }}</span>
</td>
</tr>
</tbody>
<table>
但是我无法迭代每个系统中的每个项目并将其添加为列。我收到的错误是Error: [ngRepeat:dupes]
迭代嵌套数组的最佳方法是什么?
答案 0 :(得分:2)
默认情况下,ng-repeat使用整个对象的哈希来跟踪插入/删除,以便优化DOM操作。 T 他必须是独一无二的,否则就会失败。
因此具有相同属性和值的两个对象将发生冲突。
您可以使用track by
语法明确指出要跟踪的属性,但同样,这必须是唯一的。
作为最后的手段,您可以使用track by $index
来避免重复输入。
ng-repeat="widget in widgets track by $index"