木偶 - “startWithParent = false”会导致什么?

时间:2014-03-02 07:13:12

标签: javascript backbone.js marionette

如描述here,子模块上的 - startWithParent = false导致子模块不能从应用程序开始。

当我得到它时,在子Moudue中的startWithParent = false之后,MyApp.start()不应该执行子模块initializer

但是当我尝试以下时 -

MyApp = new Marionette.Application();
MyApp.module("SubModule", function () {
    // prevent starting with parent
    this.startWithParent = false;
    // Logs
    console.log("Sub Module Created !"); 
});
MyApp.start();

Sub Module Created !日志,表示子模块initializer已采取行动。

你可以帮我澄清一下吗?

1 个答案:

答案 0 :(得分:5)

中的代码
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();

在你的控制台中你会看到:

Sub Module Defined !
My App Started !
Sub Module Initialized !