我试图对骨干进行一些覆盖,如下所示:
var newSettings { . . .}
var orig = Backbone.sync
Backbone.sync = function(method, model, options) {
// updating options
_.extend(options, newSettings)
orig(method, model, options);
};
并使用如下模块:
require(["underscore" , "backbone"], function(_, Backbone) {
//if I call Backbone here, the sync override isnt applied...
});
当然它不起作用,因为它需要全球空间,所以我的问题......
每次在require模块中请求Backbone时,如何加载这样的覆盖?
答案 0 :(得分:0)
您的问题是,您如何调用原始同步方法?如果是这样,你几乎是对的。你只需改变一行:
orig.apply(Backbone, arguments);
这将调用您已缓存的原始方法,并传递所有相同的参数,并将Backbone对象指定为this
上下文。