我目前正在用Backbone和Marionette重写一个旧应用程序。 在我的模块文件spls.module.insight.js:Module.start()发射两次?
我试图在挂钩的start()方法,因为我认为这将是等待启动时使用正常的方法()的模块。 (它只会初始化一次,所以我不能使用初始化器,但还有什么?) 第二次调用spls.module('Insight')。start();我收到两份“Insight开始!”消息。 这是为什么?
有没有更好的方法来解决这个问题?
更多信息什么我想要实现: 我刚开始使用的木偶,因此不具备什么样的模块做的,在深刻理解他们互动哪种方式呢。 我想要实现的基本上是一个主要的应用程序(工程),它通过路由器打开页面(模块)。 目前我打电话
Spls.module('Insight').start();
从路由器,但我不知道如何设计模块本身。 初始化器似乎只在第一个.start()上被调用,因此模块不知道何时显示它的内容。 我应该如何使用事件聚合器?
// router
Spls.module('Insight').start();
Spls.vent.trigger('insight:show');
// module
Spls.vent.on('insight:show', function() { /* show index */ });
我基本上需要更多关于如何使用模块的信息,我无法找到任何关于此相关工作流的好信息。再次
谢谢!
嘿德里克,谢谢你的回复(还有木偶;)。 我用更多的信息编辑了这个问题。 –
接受让我领先一步,如果你有任何问题,你能否给我一些关于模块工作流程的提示(在问题中已更新)? –
太棒了,谢谢! –