2016-05-31 7 views
1

ich ein Objekt haben, wie folgt:Wie bekomme ich das nächste Element in ng-repeat für ein Objekt?

scope.items = { 
"poor-John-1": { 
    "_id": "poor-John-1", 
    "name": "poor-John-1", 
    "sName": "room-poor-John-2" 
}, 
"poor-John-2": { 
    "_id": "poor-John-2", 
    "name": "poor-John-2", 
    "sName": "room-poor-John-2" 
} 

} 

ich das Objekt in der folgenden Art und Weise verdient gemacht haben

<tr ng-repeat="item in items | orderObjectBy: '_id' track by item._id" ng-class="getStyle(item, next_item)"><td>{{item.sName}}</td></tr> 

Was ich tun möchte, ist, übergeben, die aktuelle und next_item zum getStyle Funktion, da es kein Array ist, zeigt $ index den Wert nicht an. Ich habe Daten im Objekt.

Antwort

0

Vielleicht können Sie dies mit

$scope.keys = Object.keys($scope.items) // put keys on scope 

// get next from keys 
<tr ng-repeat="(key, item) in items track by item._id" ng-class="getStyle(item, items[keys[$index +1]])"> 
    <td>{{key}}</td> 
    <td>{{item.name}}</td> 
    <td>next : {{items[keys[$index +1]]}}</td> 
    </tr> 

Schauen Sie dies, mir sagen, ob es das, was Sie wollen https://plnkr.co/edit/GCNmWb9Qv2mntqTnGsX1?p=preview