Javascript 覆盖Backbone.sync,但保存其以前的功能
我希望覆盖Backbone.sync,但在添加内容后也会运行原始的Backbone.sync功能。我想这有点像在Java中调用超类。除了复制前面的所有代码,还有其他方法吗?在JavaScript中,您可以在变量中存储任何属性或方法。下面的示例将Backbone.sync分配给另一个变量,然后在函数结束时使用传递给新Backbone.sync函数的所有变量调用它Javascript 覆盖Backbone.sync,但保存其以前的功能,javascript,backbone.js,Javascript,Backbone.js,我希望覆盖Backbone.sync,但在添加内容后也会运行原始的Backbone.sync功能。我想这有点像在Java中调用超类。除了复制前面的所有代码,还有其他方法吗?在JavaScript中,您可以在变量中存储任何属性或方法。下面的示例将Backbone.sync分配给另一个变量,然后在函数结束时使用传递给新Backbone.sync函数的所有变量调用它 var originalSync = Backbone.sync; Backbone.sync = function() { /
var originalSync = Backbone.sync;
Backbone.sync = function() {
// Your code here.
return originalSync.apply(Backbone, arguments);
};
上面Brian Nickel提供的方法实际上将覆盖主干网的同步方法,这将影响所有主干网模型。如果您想到的是覆盖单个型号的sync
,您可能更喜欢以下模式(同时确保使用来自的正确签名覆盖sync
):
有关如何工作的更完整信息,请参考其本身。希望有帮助。这不应该是主干网、模型、原型、同步、呼叫(等)?(缺少.Model)
var YourModel = Backbone.Model.extend({
sync: function(method, model, options) {
// do your custom work here
return Backbone.Model.prototype.sync.call(this, method, model, options);
}
});