0

我想从 0.9 系列升级到 Backbone 1.0。

在我的主干应用程序中,当我调用 collection.fetch() 时,我绑定了重置事件。不幸的是,这不再适用于 1.0:

将 Collection 的“更新”重命名为 set,以实现与类似 model.set() 的并行性,并与 reset 形成对比。它现在是获取后的默认更新机制。如果您想继续使用“重置”,请传递 {reset: true}

因此,要触发重置事件,我可以这样做:

this.collection.fetch({reset: true})

再次工作,但是我宁愿不必遍历所有代码并更新每个 collection.fetch()。有没有办法配置 collection.fetch() 自动通过 reset : true ?

4

1 回答 1

0

好吧,您始终可以在扩展自己的 Backbone 集合的地方覆盖 fetch,因此它始终将其作为选项包含在内:

fetch: function (options) {
    options = options ? _.clone(options) : {};
    options.reset = true;
    Backbone.Collection.prototype.fetch.call(this, options);
}

然后,每次您调用 fetch 时,它都会将其作为一个选项包含在内,并且您不必在实际进行 fetch 调用的任何地方修改它。

于 2013-04-26T02:54:28.937 回答