Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干木偶可以向所有模块定义添加参数_Javascript_Backbone.js_Module_Arguments_Marionette - Fatal编程技术网

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));