Mam problemy podczas próby losowej kolejności obiektów w kolekcji.Backbone.js Jak przetasować elementy w kolekcji
Oto kod, który próbowałam:
console.log(this.collection);
shuffled = this.collection.shuffle();
console.log(shuffled);
A oto wyjście konsoli (przy użyciu zbiór testowy z 3 pozycji):
child {models: Array[3], length: 3, _byId: Object, url: "/myurl/myid", _listenerId: "l7"…}
_byId: Object
_events: Object
_idAttr: "id"
_listenerId: "l7"
length: 3
models: Array[3]
__proto__: Surrogate
[child, child, child]
0: child
1: child
2: child
length: 3
__proto__: Array[0]
Jak widać, kolekcja jest nie jest właściwie tasowane, zamiast tego tworzy nowy, niepotrzebny obiekt pełen brzydkich dzieci.
Wszystko, co próbuję zrobić, to losowa kolejność, w jakiej modele pojawiają się w kolekcji przed przekazaniem jej do widoku do wyświetlenia (Tworzę przycisk o nazwie "randomize", który musi losowo wyświetlać przedmioty w kolekcji). Myślałem, że to łatwe zadanie, ale w tym momencie rozważam właśnie stworzenie zupełnie nowego modelu i przetasowanie na serwerze.
Każda pomoc jest bardzo doceniana!
Jeśli chcesz wybrać losowo widok, dlaczego umieścić kod w kolekcji, a nie w widoku? –
Kod jest enkapsulowany w widoku, pokazałem tylko powiązane części powyżej. Kolekcja jest wybierana losowo, a następnie aktualizowana na podstawie kolekcji losowej, a także zapisana. – mgee245