$ index指示ng-repeat轨道

时间:2015-11-16 15:12:15

标签: javascript arrays json angularjs

我正在使用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-repeatsng-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++;
    }
});

但是,我很难过为什么视图中没有显示第一个未定义的值。

修改

Pastebin of the JSON data

Array console log snippet

0 个答案:

没有答案