2014-09-30 81 views
0

我需要一个木偶路线。如何做一个木偶catchall路线?

例如,我有用户janebobalice,我希望他们能够与访问他们的个人资料:

http://example.com/#jane 
http://example.com/#bob 
http://example.com/#alice 

但是,如果我想挑出一个途径,#edit去别的地方例如,他们的编辑页面。

Backbone/Marionette有没有办法做到这一点?

+0

做了下面的帮助吗? – Quince 2014-11-04 12:47:48

+0

生病让你知道很快。即时通讯即将实施它...陷入了一些重构! – kidcapital 2014-11-04 23:34:07

回答

1

所以,你可以在此使用正常的途径,但在声明它们的顺序做成为其吮吸了一下

appRoutes: { 
    "some_part_of_app/edit": "showEditPage", 
    "some_part_of_app/:username": "showProfilePage", 
} 

这样它会试图匹配编辑航首次当它重要然后它会匹配下一个路由,如果这些是相反的,它总是匹配/:username路由。

但是,如果我在做这样的事情我会做的路线有点更具描述性,避免以这种方式这个问题上完全

appRoutes: { 
    "some_part_of_app/profile/:username/edit": "showEditPage", 
    "some_part_of_app/profile/:username": "showProfilePage", 
} 

从资源时,你被所作用的途径其清晰不要依赖宣言的顺序来避开所有情况。

或另一种选择是使用像https://github.com/boazsender/backbone.routefilter这样的插件,它允许您预先过滤路线并确保编辑进入了编辑路线并且:用户名转到了用户名。