我们正在使用backbone / marionette来构建一个分成许多独立模块的大型应用程序。主应用程序管理标题,菜单,通知和页脚。它还实例化每个模块的路由器,并将应用页面的中心区域传递给它,以便模块可以自我渲染。
我们在主应用程序中有一个路由器,它通过初始化和显示菜单等来响应默认URL。菜单通过向URL添加哈希标记来路由到模块。每个模块的路由器都会监视相应的哈希值,并通过在主应用程序给出的区域中显示其内容来进行响应。
这一切都正常,直到用户想要书签(或简单刷新)模块页面。当发生这种情况时,模块路由器会正确响应带有散列的url,但主路由器不会被调用来重新初始化菜单和页脚,因此模块会在整个页面上呈现自身(没有任何页眉/页脚)。
我认为主路由器应该在模块路由器触发其事件之前触发默认路由。这种情况没有发生。
有谁知道我应该如何实现这个? TIA。
答案 0 :(得分:0)
这可能会有一些帮助/灵感:
Backbone.Marionette Change Region when Route changes
基本上,将处理程序绑定到Backbone / Marionette的路由更改事件,并从该处理程序更新菜单。