如何将正确的"track by"添加到ngRepeat中



我有这个html

<ion-item ng-repeat="item in ::itemsToShow = extensionItems | orderBy:'distance' " class="entry" ng-class="{'alt-background': $index % 2 == 1}" ng-click="itemDetail(item)">
    ...details...
</ion-item>

我不能找出正确的方法来添加track by:item._id,我总是得到这个错误:

语法错误:令牌'track'在表达式[itemsToShow = extensionItems track by:_id |…]的第30列是一个意外的令牌

我试着:

<ion-item ng-repeat="item in ::itemsToShow = extensionItems track by:item._id | orderBy:'distance' " class="entry" ng-class="{'alt-background': $index % 2 == 1}" ng-click="itemDetail(item)">
<ion-item ng-repeat="item in ::itemsToShow = extensionItems track by:_id | orderBy:'distance' " class="entry" ng-class="{'alt-background': $index % 2 == 1}" ng-click="itemDetail(item)">
<ion-item ng-repeat="item in ::itemsToShow = extensionItems  | orderBy:'distance' track by:_id" class="entry" ng-class="{'alt-background': $index % 2 == 1}" ng-click="itemDetail(item)">
<ion-item ng-repeat="item in ::itemsToShow track by:_id = extensionItems  | orderBy:'distance' " class="entry" ng-class="{'alt-background': $index % 2 == 1}" ng-click="itemDetail(item)">

也尝试使用_iditem._id,我总是得到相同的错误(当然不同的列)。我应该如何或在哪里写track by ?

编辑: Angular version 1.4.3

编辑2: Json数据有这样的结构

_id: "000000426"
_rev: "1-5003008fcf25b8f130233b944bb761c9"
someText: "<p class="bodytext ">Something for you.</p>"
name : "You-Shop"
homepage : "http://www.youshop.com"
id: 426

您忽略了track by必须而不是后跟冒号(:)…

`track by` MUST be the final statement in a ng-repeat.

最新更新