C'è un modo per avere condizionali “add” eventi in backbone.js?
-
24-10-2019 - |
Domanda
Sto usando backbone.js per la mia web app e funziona semi-bene finora. Il problema è che a volte ho bisogno di aggiungere elementi alla raccolta e farli andare alla parte superiore della pagina, e altre volte verso il basso. A volte ho bisogno di loro per animare, a volte no. C'è un modo per farlo in modo pulito con backbone.js? Passando argomenti per il "add" evento sarebbe un buon modo (ad esempio "anteporre: true"), ma questo non sembra essere un'opzione ...
Grazie!
Soluzione
Estendere Backbone.Collection e ignorare la funzione add:
PositionCollection = Backbone.Collection.extend ({
add: function( model, options ){
// do your stuff
// call the real add
Backbone.Collection.prototype.add.call(this, model);
}
});
L'unica cosa da tenere a mente è che se fai precedere, di aggiunta si potrebbe voler copiare Backbone.Collection.add tutto e giocare con esso.
Si potrebbe anche contare su l'ordinamento di raccolta. Aggiungere la vostra posizione e attributo di animazione al modello, sorta sulla posizione e ascoltare "aggiungere" gli eventi per la raccolta per animare in modo corretto.