gpt4 book ai didi

collections - 您如何覆盖 Backbone 集合(相对于模型)的同步方法?

转载 作者:行者123 更新时间:2023-12-01 05:27:55 24 4
gpt4 key购买 nike

我有一个文件夹树,它根据您单击的文件夹获取一个集合。如果用户改变主意并单击另一个文件夹,我想中止之前的提取。由于这发生在项目中的多个地方,我想覆盖集合上的同步方法。我见过很多模型同步的例子,但不是集合。我还想保留查询字符串参数。官方文档指出集合也有同步方法,但我从未见过这样做过。请指出我正确的方向。提前致谢。

最佳答案

Backbone 的 Collection 同步看起来与 Model 的同步方法完全一样:

// Proxy `Backbone.sync` by default.
sync: function() {
return Backbone.sync.apply(this, arguments);
},

那是因为两者都做同样的事情,它们只是“代理” Backbone.sync 方法。它们存在的原因是允许实现在每种类型的基础上更改同步逻辑,而不必触及将影响项目中所有模型和集合的主同步方法。

我建议为您的收藏做以下类似的事情,因为您可能不想自己模仿 Backbone 的同步逻辑,它为您做了很多事情,弄乱它可能会导致以后难以解决的问题。
var MyCollectionType = Backbone.Collection.extend({

sync: function(method, model, options){
//put your pre-sync logic here and call return; if you want to abort

Backbone.Collection.prototype.sync.apply(this, arguments); //continue using backbone's collection sync
}
});

关于collections - 您如何覆盖 Backbone 集合(相对于模型)的同步方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12904140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com