Sto usando Backbone.js come framework e, a mio modo di vedere, ho alcune piccole immagini (un cestino per cancellare, un'icona, ecc.). E quando la vista restituisce nuovamente queste immagini.Come posso impedire alle immagini di lampeggiare durante il rendering della vista Backbone?
Ho risolto questo problema con immagini più grandi creando una nuova vista per tutto ciò che non desidero flashare e non attivandole per il rendering. Ma mi stavo chiedendo se c'è un altro modo per farlo senza scomporre la mia visione in un mucchio di pezzi?
Questo è il formato generale sono il rendering le mie opinioni in:
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
},
});
E poi li attribuisco ad un div da:
var newView = new PopupItemImgView({model: someModel});
$('#styleimage').append(newView.render().el);
mio modello potrebbe essere simile
<script type="text/template" id="view-template">
<%
print('Content content - <img src="images/delete.gif" class="delete">');
%>
</script>
Puoi fornire un esempio del tuo codice – Paul
puoi mostrare un po 'di codice su come ri-rendering? La mia ipotesi è che tu stia rimuovendo il tuo html, incluse le immagini, dal dom e poi aggiungendole di nuovo. – Mike
Mike, sì, è così che ho imparato a farlo dai tutorial. Ho allegato del codice. –