我正在使用track by $index
来解决重复的标识符问题。我有一个包含4个未定义值的数组。我希望为未定义的值显示空白条目,以便具有相同名称的值彼此平行。我正在使用Twitter Bootstrap的网格,特别是col-*-6
类来实现这一目标。
HTML
<div ng-repeat="cluster in joinedArr track by $index">
<div class="col-md-6">
{{cluster.name}}
</div>
</div>
输出
Value 1 Value 1
Value 2 Value 2
Value 3 Value 3
Value 4 Value 5
Undefined Value 6
...
我想要的输出
Value 1 Value 1
Value 2 Value 2
Value 3 Value 3
Value 4 Undefined
Value 5 Undefined
...
第一个未定义的值由于某种原因没有被选中,但是当我使用console.log
时它应该在数组中。
控制器正在使用消耗JSON数据的服务。有两个大的父对象。这些对象包含重复的标识符父母A中的一些孩子也在父母B中。在控制器中,我将parentA中的子节点分配给一个数组,并将parentB中的子节点以交替的顺序分配给数组。我不知道JSON是这样组织的,但我认为parentA中而不是parentB中的子节点是parentB中的空对象。因此,当我将空对象分配给数组时,它们将作为未定义的值插入。这实际上很好用。
以前,我在视图中有这个逻辑,这真的很糟糕。它在重复中嵌套了ng-repeats
和ng-if
......这很糟糕。所以我认为这种方式是一个很大的进步。
控制器
InstanceFctry.query(function(data)
{
$scope.clusterArr = [];
var count = 0;
for(var i = 0; i < 22; i += 2)
{
$scope.clusterArr[i] = data.WNG.CUST_CLUSTERS[count + 1];
$scope.clusterArr[i + 1] = data.KC.CUST_CLUSTERS[count + 1];
count++;
}
});
但是,我很难过为什么视图中没有显示第一个未定义的值。
修改