Backbone.js 主干路由器和页面刷新

Backbone.js 主干路由器和页面刷新,backbone.js,Backbone.js,我有两个路由器,每个都有一条路由。第一个路由器(我们称之为页面路由器)处理路由:通过绘制页面设备的页眉、页脚等。。第二个路由器,模块路由器,处理一个散列路由,即程序/配置,通过在页面中间显示所选程序的配置。 用户通过进入主页启动应用程序:http://host/service/home.html. 这会导致页面路由器绘制主页。用户从菜单中选择一个程序配置,url更改为:http://host/service/home.htmlABC/config. 这会使模块路由器显示正确的模块 问题是当页面刷

我有两个路由器,每个都有一条路由。第一个路由器(我们称之为页面路由器)处理路由:通过绘制页面设备的页眉、页脚等。。第二个路由器,模块路由器,处理一个散列路由,即程序/配置,通过在页面中间显示所选程序的配置。 用户通过进入主页启动应用程序:http://host/service/home.html. 这会导致页面路由器绘制主页。用户从菜单中选择一个程序配置,url更改为:http://host/service/home.htmlABC/config. 这会使模块路由器显示正确的模块

问题是当页面刷新时,只调用模块路由器。页面正确呈现模块内容,但菜单消失-页面路由器未被调用


我做错了什么?如何修复此问题?

您的页面路由器有一个带有值的路由,而当您有一个带有abc/config的url时,该路由不存在。如果卸下页面路由器,只留下模块路由器,效果会更好

尝试执行应用程序以执行页面路由器在加载时正在执行的任何操作,并只保留一个路由器


创建每页都相同的页眉和页脚并不是路由器的工作。

感谢您的回复。abc/config是一个锚,而不是url本身的一部分,这不重要吗?最后一点:我的应用程序中的页眉/页脚是通过主干驱动的,它们本身是复杂的对象,需要在路由器中配置资源-在页面加载中配置我的整个应用程序是不对的,特别是一些配置是在子路由器中完成的。这似乎是在主干网中执行此类操作的方法:据我所知,您需要将启动逻辑页眉/页脚呈现封装在某种模块中,以获取所需的数据,如果您使用require.js或类似的$doc load event,请依赖main.js中的该模块并在那里启动。然后,如果对于不同的路由有不同的init,则将它们添加到ure模块并依赖于它,并对该路由使用特定的init方法。