Bu, bu koleksiyonomurga toplama sıfırlamak patlamaz getirme()
var mssg = mssg || {};
mssg.Messages = Backbone.Collection.extend({
model : mssg.Message,
url : 'messages'
});
olduğunu
var mssg = mssg || {};
mssg.MessagesView = Backbone.View.extend({
el: '#messages',
initialize: function() {
this.collection.fetch();
this.collection.bind('reset', this.render, this);
},
render : function() {
this.$el.html('');
this.collection.each(function(item) {
this.renderMessage(item);
}, this);
return this;
},
renderMessage : function(item) {
var messageView = new mssg.MessageView({
model : item
});
this.$el.append(messageView.render().el);
}
});
bir koleksiyon için benim görünümdür ve bu başlatılır nasıl:
var mssg = mssg || {};
$(function() {
new mssg.MessagesView({
collection : new mssg.Messages()
});
});
Sorun, ajax getirme isteğinden sonra reset
'a bağlı render
işlevinin çalışmamasıdır.
add
'a bağlarsam çalışır. Bir hata ayıklama işlevine all
bağlamayı denedim ve her öğe için sync
olayının add
ile birlikte çağrıldığını söylüyor. Eğer omurga change log işaretlerseniz
Bu.collection.fetch'i ({reset: true}) deneyebilir misiniz? – nikoshr
@nikoshr bu işe yaradı! Bunun ima edildiğini düşündüm? –