在我的应用程序中,我在每个模块中都有控制器,作为调解员工作。 什么是实例化它们的更好的地方:
在这样的主控制器中:
App.MainController = Marionette.Controller.extend({
doSomething: function(){
var controller = new App.Module1.Controller();
controller.doSomething();
...
},
doSomethingElse: function(){
var controller = new App.Module1.Controller();
controller.doSomethingElse();
...
}
});
或初始化模块的方法如下:
Module1.addInitializer(function(){
Module1.controller = new Controller({
...
});
});
并从主控制器调用它:
doSomething: function(){
App.Module1.controller.doSomething();
},
doSomethingElse: function(){
App.Module1.controller.doSomethingElse();
},
拥有一个控制器的全局实例是否更好,或者每次需要时都创建它们? 我糊涂了。 感谢任何建议。
答案 0 :(得分:0)
我猜你的问题比控制器更普遍。 我的偏好是,如果需要跨不同模块共享并且数据需要跨操作持久化,那么您应该只使用全局实例。
如果没有这样的需求,你不应该浪费资源来拥有它们。此外,您拥有的全局实例越少,维护应用程序中的资源就越容易。
希望有所帮助!