我编码的应用越来越大,到目前为止,我一直只使用一台路由器。我想把它分成两个独立的路由器(对于初学者来说,当然更推出)是这样的:多个Backbone.Routers和默认路由 - 匹配路由的顺序/加载路由器
class window.UFO.Routers.App extends Backbone.Router
routes:
#root
'' : 'root'
#not found
'*notFound' : 'notFound'
class window.UFO.Routers.Companies extends Backbone.Router
routes:
'companies/new/:angellist' : 'companiesNew'
'companies/new' : 'companiesNew'
'companies/:id/edit' : 'companiesEdit'
'companies/:id/edit/people': 'companiesPeople'
'companies/:id/edit/people/:preselect': 'companiesPeople'
有一个问题,但:NOTFOUND路由触发每一次我尝试访问公司路线之一的时间。我猜这是因为应用程序路由器被加载并初始化(我正在使用rails资产管道)。
您是否知道此问题的任何解决方法?也许有一种方法可以强制Backbone在匹配* notFound路由之前检查所有可用的路由器?
BTW。我们正在使用Backbone.Marionette,因此解决方案可能会使用工具和代码。
正如我从源代码http://backbonejs.org/docs/backbone.html看到的,路由被检查按顺序他们a重新初始化,所以尝试加载并初始化App路由器 –