2014-09-30 50 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這樣的插件,它允許您預先過濾路線並確保編輯進入了編輯路線並且:用戶名轉到了用戶名。