Ho 2 modelli diversi per le viste del mio modello. Ogni volta che i modelli vengono recuperati dal database, i primi 3 modelli (n. 1, 2, 3) recuperati dal back-end avranno la vista creata utilizzando il primo modello, i successivi 4 modelli (n. 4, 5, 6, 7) userà il secondo modello, i prossimi 3 modelli (# 8, 9, 10) useranno il primo modello e così via.Alternando tra 2 diversi modelli in backbone.js
Problema: Come introdurre questo modello alternativo utilizzando backbone.js?
JS Codice
// Views
PhotoListView = Backbone.View.extend({
el: '#photo_list',
render: function() {
$(this.el).html('');
_.each(this.model.models, function(photo) {
$(this.el).append(new PhotoListItemView({ model: photo }).render().el);
}, this);
return this;
}
});
PhotoListItemView = Backbone.View.extend({
tagNAme: 'div',
className: 'photo_box',
template: _.template($('#tpl_PhotoListView').html()),
initialize: function() {
this.model.bind('destroy', this.close, this);
},
render: function() {
$(this.el).html(this.template(this.model.toJSON()));
return this;
},
close: function() {
this.unbind();
this.remove();
}
});
risposta epica è epica ... Grazie –
totalmente epico. .. grazie mu! – Nyxynyx
Domanda: il rendering verrà chiamato per ogni elemento e la vista verrà aggiornata. Possiamo ottimizzare questo? –