Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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

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 木偶-什么是“木偶”;startWithParent=false";原因?_Javascript_Backbone.js_Marionette - Fatal编程技术网

Javascript 木偶-什么是“木偶”;startWithParent=false";原因?

Javascript 木偶-什么是“木偶”;startWithParent=false";原因?,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,如前所述,子模块上的-startWithParent=false会导致子模块无法启动应用程序 正如我所了解的,在子模块中的startWithParent=false之后,MyApp.start()不应执行子模块初始值设定项 但当我尝试以下方法时- MyApp = new Marionette.Application(); MyApp.module("SubModule", function () { // prevent starting with parent this.sta

如前所述,子模块上的-
startWithParent=false
会导致子模块无法启动应用程序

正如我所了解的,在子模块中的
startWithParent=false
之后,
MyApp.start()
不应执行子模块
初始值设定项

但当我尝试以下方法时-

MyApp = new Marionette.Application();
MyApp.module("SubModule", function () {
    // prevent starting with parent
    this.startWithParent = false;
    // Logs
    console.log("Sub Module Created !"); 
});
MyApp.start();
子模块已创建日志,表示子模块
初始值设定项
已执行操作

你能帮我澄清一下吗

里面的代码

MyApp.module("SubModule", function () {
  ...
});
是模块定义并立即调用。要将初始值设定项添加到模块中,您应该编写如下内容:

MyApp = new Marionette.Application();
MyApp.module("SubModule", function () {
    // prevent starting with parent
    this.startWithParent = false;

    this.addInitializer(function(){
        console.log("Sub Module Initialized !");
    });

    console.log("Sub Module Defined !");
});
MyApp.start();
console.log("My App Started !");
MyApp.SubModule.start();
在控制台中,您将看到:

里面的代码

MyApp.module("SubModule", function () {
  ...
});
是模块定义并立即调用。要将初始值设定项添加到模块中,您应该编写如下内容:

MyApp = new Marionette.Application();
MyApp.module("SubModule", function () {
    // prevent starting with parent
    this.startWithParent = false;

    this.addInitializer(function(){
        console.log("Sub Module Initialized !");
    });

    console.log("Sub Module Defined !");
});
MyApp.start();
console.log("My App Started !");
MyApp.SubModule.start();
在控制台中,您将看到: