javascript - 我无法更新主干中的收藏

标签 javascript backbone.js

一切都运行完美,但是当我向集合中添加新项目时, View 不会更新集合来显示它。这是代码

App.Views.Contacts = Backbone.View.extend({
    tagName: 'tbody',

    initialize: function(){
        this.collection.on('sync',this.addOne,this);
    },

    render: function(){

        this.collection.each(this.addOne,this);
        return this;
    },

    addOne: function(contact){
        var contactView = new App.Views.Contact({model:contact});
        this.$el.append(contactView.render().el); 
    } 

});

我不知道为什么同步不起作用

最佳答案

我猜您已经在 sync 事件上渲染所有项目,并在 add 事件上渲染一个项目。像这样:

initialize: function(){
  this.listenTo(this.collection, 'sync', this.render);
  this.listenTo(this.collection, 'add', this.addOne);
},

关于javascript - 我无法更新主干中的收藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19212641/

相关文章:

javascript - 如何使用最小/最大高度和高度将响应式 CSS 高度应用于元素?

javascript - 在 Javascript 中检查字符串中的符号

javascript - 定位一个 div 以在其后插入内容

javascript - 全局和特定错误处理AJAX jQuery

javascript - Backbone 关系到 JSON 不呈现所有属性

javascript - VueJs - 调用传递给动态创建的 DOM 元素的方法

javascript - 如何将图像添加到我的 highcharts 图?

javascript - 使用 Backbone 样式的原型(prototype)继承时防止无限递归

ruby-on-rails - 为 "one page"站点推送新版本通知

javascript - 如何仅在获取所有数据后才将模型传递给 View ?