首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >backbone集合获取不会触发reset()

backbone集合获取不会触发reset()
EN

Stack Overflow用户
提问于 2013-03-25 03:44:54
回答 1查看 12.3K关注 0票数 19

这是我对一个集合的看法

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 );
}

});

这是收藏品

var mssg = mssg || {};

mssg.Messages = Backbone.Collection.extend({
    model : mssg.Message,
    url : 'messages'
});

下面是它的初始化方式:

var mssg = mssg || {};

$(function() {
    new mssg.MessagesView({
        collection : new mssg.Messages()
    });
});

问题是绑定到resetrender函数不会在ajax fetch请求之后触发。

如果我把它绑定到add上,它就能工作。我尝试将all绑定到一个调试函数,它显示sync事件与每一项的add一起被调用。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15603107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档