我正在试图弄清楚如何让一组模型与我的服务器保持同步。目前,我的代码看起来像这样,但显然有一些问题......
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',这显然是错误的。不应该'同步'知道它是应该创建还是更新?
而且,不应该'同步'是否足够智能,可以在已从我的收藏中删除的任何模型上调用'删除'?
我猜我应该考虑在我的模型上自定义同步方法,但我仍然对我正在做的事情感到困惑,这是不寻常的,需要我自定义这些同步方法。
我觉得我错过了一个关于同步的重要观点。
答案 0 :(得分:0)
为了记录,这个问题没有真正答案,因为这是一个无效的问题!我误解了“同步”的含义。正如KiT O指出的那样,我现在正在使用save。
感谢。