Estoy usando Backbone.js como marco y, en mi opinión, tengo algunas imágenes pequeñas (una papelera para eliminar, un ícono, etc.). Y cuando la vista vuelve a mostrar, estas imágenes parpadean.¿Cómo evito que las imágenes parpadeen cuando renderizo la vista Backbone?
He resuelto esto con imágenes más grandes al crear una nueva vista para todo lo que no deseo flashear, y no haberlas disparado. Pero me preguntaba si hay otra forma de hacerlo sin dividir mi punto de vista en un montón de piezas.
Este es el formato general estoy renderizado mis puntos de vista en:
window.SomeView = Backbone.View.extend({
initialize: function() {
this.model.bind('change', this.render, this);
this.template = _.template($('#view-template').html());
},
render: function(){
var renderedContent = this.template(this.model.toJSON());
$(this.el).html(renderedContent);
return this;
},
events: { 'click .delete' : delete },
delete: function(ev){
//do delete stuff here
},
});
Y entonces yo les atribuyo a un div por:
var newView = new PopupItemImgView({model: someModel});
$('#styleimage').append(newView.render().el);
Mi plantilla podría parecerse a
<script type="text/template" id="view-template">
<%
print('Content content - <img src="images/delete.gif" class="delete">');
%>
</script>
¿Puede proporcionar una muestra de su código – Paul
¿puede mostrar un poco de código sobre cómo volver a procesar? Mi suposición es que estás eliminando tu html, incluidas las imágenes, del dom y luego volviéndolas a agregar. – Mike
Mike, sí, así aprendí a hacerlo desde los tutoriales. Adjunté un código. –