我正在查看Backbone Marionette,这对我目前的项目来说似乎很有希望。但是,添加模块时,无论startWithParent设置如何,它们似乎都会自动启动。这是我遇到问题的一段代码(其中一部分实际上是从Marionette文档中复制过来的):
var app = new Backbone.Marionette.Application();
var fooModule = app.module('fooModule', {
startWithParent: false,
define: function(){
console.log('I should not auto start');
}
});
app.start();
我期待“我不应该自动启动”不会出现在我的控制台中,但确实如此。对我而言,似乎我应该执行......
app.module('fooModule').start()
...应该出现此消息之前。
我正在使用Backbone.Marionette 1.0.2,Backbone 1.0和Underscore 1.4.4。
有关为何发生这种情况的任何线索?谢谢你的帮助!
答案 0 :(得分:5)
请注意,模块启动时会调用module initializers,define
函数允许模块定义,但执行并不意味着模块已启动。
我做了一个小提琴来解释我的意思:http://jsfiddle.net/Axg27/2/