¿Hay alguna manera de tener eventos condicionales de "agregar" en Backbone.js?
-
24-10-2019 - |
Pregunta
Estoy usando Backbone.js para mi aplicación web y funciona semi-bienvenida hasta ahora. El problema es que a veces necesito agregar elementos a la colección y hacer que vayan a la parte superior de la página y otras veces a la parte inferior. A veces necesito que animen, a veces no. ¿Hay alguna manera de hacer esto limpiamente con Backbone.js? Pasar argumentos al evento "Agregar" sería una buena manera (por ejemplo "Preparación: Verdadero"), pero esta no parece ser una opción ...
¡Gracias!
Solución
Extender Backbone.Collection y anular la función Agregar:
PositionCollection = Backbone.Collection.extend ({
add: function( model, options ){
// do your stuff
// call the real add
Backbone.Collection.prototype.add.call(this, model);
}
});
Lo único que debe tener en cuenta es que si prepende, agregue, es posible que desee copiar backbone.collection.add por completo y jugar con él.
También puedes confiar en la clasificación de la colección. Agregue su posición y atributo de animación al modelo, ordene la posición y escuche eventos "Agregar" en la colección para animarlo correctamente.