Backbone Collection Sync

时间:2013-10-27 16:37:42

标签: backbone.js collections sync

我正在试图弄清楚如何让一组模型与我的服务器保持同步。目前,我的代码看起来像这样,但显然有一些问题......

var myCollection = Backbone.Collection.extend({
    url: '/api/block',

    ...

    sync: function() {
        _.each(this.models, function(model) {
            model.sync('create', model);
        });
    }

});

目前,当我在我的集​​合上调用同步时,它会遍历所有模型,并在每个模型上调用同步。我很惊讶,首先这不是Backbone.Collection.sync方法的默认行为。或者我误解了“同步集合”应该做什么?

其次,我的model.sync('create', model);行有点奇怪。当我在模型本身调用方法时,为什么必须传入模型?另外,我手动调用'create',这显然是错误的。不应该'同步'知道它是应该创建还是更新?

而且,不应该'同步'是否足够智能,可以在已从我的收藏中删除的任何模型上调用'删除'?

我猜我应该考虑在我的模型上自定义同步方法,但我仍然对我正在做的事情感到困惑,这是不寻常的,需要我自定义这些同步方法。

我觉得我错过了一个关于同步的重要观点。

1 个答案:

答案 0 :(得分:0)

为了记录,这个问题没有真正答案,因为这是一个无效的问题!我误解了“同步”的含义。正如KiT O指出的那样,我现在正在使用save。

感谢。