Ich verwende eine große Anzahl von Arrays in einer großen Form in meiner Anwendung. Um Ausspleißen spezifische Daten von meinem Datensätze auf dem Benutzer-Auswahl basiert zu machen, habe ich wie in diesem Beispiel meine Arrays aufgebaut:ngRepeat mit benutzerdefinierten Index kommt leer
var userList = [];
userList[user1.id] = user1;
userList[user2.id] = user2;
Das bin ich bestimmte Elemente können Spleiß, ohne durch die Verwendung durch die gesamte Kollektion Looping:
userList.splice(user1.id, 1);
aber wenn ich versuche, eine Liste der Benutzer in meinem HTML zu machen eine ng-repeat-Anweisung, kommt es auf leer. Mein HTML ist:
<div data-ng-repeat="user in userList">{{user.name}}</div>
Ich vermute, dass ngRepeat 0,1,2 verwendet .. standardmäßig und nicht weiß, wie meine benutzerdefinierte Indizes zu behandeln. Ich habe mehrere Quellen überprüft, aber ich kann nicht wirklich einen Sinn ergeben. Es funktionierte, als ich meine Benutzer hinzufügte, indem ich sie einfach in das Array schob, anstatt sie einem bestimmten Index zuzuordnen, also weiß ich, dass der Rest meines Codes gut funktioniert.
Hilfe? D:
EDIT:
Die Zugabe eines trackBy "Spur von user.id" hat es nicht beheben.
Plunkr! http://plnkr.co/edit/8hANBvXAIplHsq0Ph6GX?p=preview
Ich versuchte dies, aber es hat nicht funktioniert. Ich habe eine Plunkr hinzugefügt, wenn Sie einen Blick werfen wollen :) – FvB
sicher Drop den Link – manish