Javascript 主干木偶可以向所有模块定义添加参数
我想知道是否有办法通过超过标准的考试: 模块、应用程序、主干、木偶、美元、_Javascript 主干木偶可以向所有模块定义添加参数,javascript,backbone.js,module,arguments,marionette,Javascript,Backbone.js,Module,Arguments,Marionette,我想知道是否有办法通过超过标准的考试: 模块、应用程序、主干、木偶、美元、_ 所有模块声明的参数定义。我不想在app.module调用中添加比名称和函数更多的参数,因为这样只会将这些变量传递给包含它们的模块。如果有人知道如何做到这一点,我将不胜感激。您可以像这样传递额外的参数(来自木偶文档): 您可以定义一个额外的函数,如: function moduleWrapper(func) { var extraArg1 = something, extraArg2 = somethingelse;
所有模块声明的参数定义。我不想在app.module调用中添加比名称和函数更多的参数,因为这样只会将这些变量传递给包含它们的模块。如果有人知道如何做到这一点,我将不胜感激。您可以像这样传递额外的参数(来自木偶文档):
您可以定义一个额外的函数,如:
function moduleWrapper(func) {
var extraArg1 = something, extraArg2 = somethingelse;
return function() {
//Take the arguments obj and convert it to an array
var args = Array.prototype.slice.call(arguments);
//splice the extra arguments into the array
args.splice(5, 0, extraArg1, extraArg2);
//then call the function passed to the wrapper
return func.apply(this,args);
};
}
然后可以传递一个带有参数的函数
function example(MyModule, MyApp, Backbone, Marionette, $, _, extraArg1, extraArg2){}
像这样
MyApp.module("MyModule",moduleWrapper(example));
包装器将只使用您想要的参数调用原始函数。我特别要求不要这样做。谢谢你的努力
MyApp.module("MyModule",moduleWrapper(example));