当然答案是“当你想展示应用程序时使用它”。好的,这很公平。但是子视图呢?我正在使用 Ted 的示例:https ://github.com/t2k/backbone.marionette-RequireJS 。该示例只有一个控制器设置。我有六个控制器,我在 Ted 的示例中复制了 libraryController。每个示例都有以下代码:
var _initializeLayout = function() {
console.log('initialize Start Layout...');
Controller.layout = new Layout();
Controller.layout.on("show", function() {
vent.trigger("startLayout:rendered");
});
vent.trigger('app:show', Controller.layout); <!-- is this needed for each?
};
所以我的每个控制器中都有该代码。StartLayout 有两个区域,它们有自己的视图,它们是 InspectorController 和 PlayerController 的入口点。
这些控制器中的每一个都具有:
vent.trigger('app:show', Controller.layout);
所以在我看来,我可能会比需要更多地调用“app:show”。每个需要初始化的控制器一次。
这是必要的吗?当我处理应用程序的直接子视图时,我可以理解,但如果我深入到 PlayerController 并且应用程序视图不可见,这似乎有点矫枉过正。
谢谢,
安德鲁