要求/骨干:在调用骨干网时加载骨干网覆盖

时间:2014-03-24 03:11:51

标签: javascript backbone.js requirejs

我试图对骨干进行一些覆盖,如下所示:

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时,如何加载这样的覆盖?

1 个答案:

答案 0 :(得分:0)

您的问题是,您如何调用原始同步方法?如果是这样,你几乎是对的。你只需改变一行:

orig.apply(Backbone, arguments);

这将调用您已缓存的原始方法,并传递所有相同的参数,并将Backbone对象指定为this上下文。