相关疑难解决方法(0)

使用Backbone.js轮询集合

我正在努力使Backbone.js Collection与服务器上发生的事情保持同步.

我的代码类似于以下内容:

var Comment = Backbone.Model.extend({});
var CommentCollection = Backbone.Collection.extend({
    model: Comment
});

var CommentView = Backbone.View.extend({ /* ... */ });
var CommentListView = Backbone.View.extend({
    initialize: function () {
        _.bindAll(this, 'addOne', 'addAll');

        this.collection.bind('add', this.addOne);
        this.collection.bind('refresh', this.addAll);
    },
    addOne: function (item) {
        var view = new CommentView({model: item});
        $(this.el).append(view.render().el);
    },
    addAll: function () {
        this.collection.each(this.addOne);
    }
});

var comments = new CommentCollection;
setInterval(function () {
    comments.fetch();
}, 5000);
Run Code Online (Sandbox Code Playgroud)

会发生什么事情,当提取注释时,refresh被调用,相同的注释到底部CommentListView- 这是我对上面代码的期望.

我想知道的是什么是"刷新"视图的最佳方式,而不会失去任何"本地状态".

javascript ajax polling backbone.js

23
推荐指数
3
解决办法
1万
查看次数

标签 统计

ajax ×1

backbone.js ×1

javascript ×1

polling ×1