Si verificano problemi durante il tentativo di randomizzare l'ordine degli oggetti in una raccolta.Backbone.js Come mescolare gli elementi all'interno di una raccolta
Ecco il codice che ho provato:
console.log(this.collection);
shuffled = this.collection.shuffle();
console.log(shuffled);
Ed ecco l'output della console (con una collezione di prova con 3 elementi):
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]
Come si può vedere, la collezione è non viene mischiato correttamente, ma sta creando un nuovo oggetto inutilizzabile pieno di bambini fastidiosi.
Tutto quello che sto tentando di fare è randomizzare l'ordine in cui i modelli appaiono nella raccolta prima di passarlo a una vista per la visualizzazione (sto creando un pulsante chiamato "randomize" che ha bisogno di randomizzare la visualizzazione del articoli nella collezione). Ho pensato che sarebbe stato un compito facile, ma a questo punto sto considerando di creare un modello completamente nuovo e di fare lo shuffle sul server.
Qualsiasi aiuto è molto apprezzato!
Se si desidera randomizzare la vista, perché inserire il codice nella raccolta e non la vista? –
Il codice è incapsulato in una vista, ho solo mostrato le parti correlate sopra. La raccolta è casuale, quindi la vista aggiornata in base alla raccolta casuale e salvata. – mgee245