我有一个ng-repeat方法列出一些东西。有一个嵌套的ng-repeat所以我使用ng-init来跟踪我的外部$ index。
public class Node {
public int Id { get; set; }
/** Properties omitted for sake of brevity **/
private int _parentNodeId;
public int ParentNodeId { get {return _parentNodeId;}
set
{
_parentNodeId = value;
ParentNode = GetParentNodePropertyValues(_parentNodeId);
}
}
public Node ParentNode { get; private set; }
}
大部分时间都可以正常使用。但有些情况下电流不同步。如果我设置了某个过滤器,我最终会得到12个产品。当我每行并排掉$ index和current时,我得到以下内容。
<div class="row" ng-repeat="product in products" ng-if="$index % 2 == 0" ng-init="current = $index">
<div class="col col-50" ng-repeat="idx in [0,1]" ng-if="(current + idx) < products.length">
<div class="item-product" ui-sref="^.product({productId: products[current + idx].Id})">
<div ng-if="products[current + idx].image">
<img class="full-image" ng-src="{{ products[current + idx].image }}">
</div>
<p class="ellipsis"><b>{{ current + idx }} {{ products[current + idx].Name }}</b><br/>
<span ng-if="products[current + idx].Description" class="ellipsis">{{ products[current + idx].Description }}</span></p>
</div>
</div>
</div>
出于某种原因,我的当前开始跳跃6.还有其他人看过这个吗?
答案 0 :(得分:1)
考虑按索引跟踪ng-repeat
以简化操作:
<div ng-repeat="product in products track by $index"></div>