Sto cercando di ordinare una collezione in un Marionette.CompositeView
.
Ho una collezione che assomiglia a questo:Il modo migliore per ordinare una raccolta in un CompositeView
[
{id: 1, name: 'bar'},
{id: 2, name: 'boo' },
{id: 3, name: 'foo' }
]
Ho bisogno di ordinare la collezione di id in ordine inverso.
In realtà funziona solo quando ricarico la pagina.
Quando aggiungo un nuovo modello, il nuovo elemento viene aggiunto apparentemente casuale all'elenco.
Se aggiorno la pagina, saranno ben ordinati.
Le mie domande sono:
1) come risolvere il problema quando aggiungo un nuovo modello?
2) sarà possibile migliorare il codice?
Ecco il mio codice:
return Marionette.CompositeView.extend({
initialize: function() {
this.collection.fetch();
},
onRender: function() {
var collection = this.collection;
collection.comparator = function (collection) {
return - collection.get('id');
}
},
onSuccess: function() {
this.collection.add(this.messageModel);
this.collection.sort(); // the messageModel seems to be added
// apparently randomly to the list.
// only if I refresh the page it will be ok
}
})
il link GitHub è morto :-( – ErichBSchulz
il link GitHub non è più morto :-) – Ziggy
Github collegamento è di nuovo morto. – abhaga