2012-02-20 26 views
17

我希望能夠爲我的所有開發路線指定一個基礎url。一些開發人員將機器安裝到子目錄中,而不是坐在webroot上的應用程序。 我只想定義這些路線一次。 相反的: 路線:{ 「大衛 - 湯姆斯,子目錄/用戶」:「init_users」 } 我想:在Backbone.js router中定義一個基礎url

routes: { 
    "/users": "init_users" 
} 

,並能夠指定該安裝的BaseURL,所以我可以很容易地使跨安裝工作。

現在我通過使用括號語法定義路由對象來保留動態鍵並將其分配給路由內的routes屬性來強制它們。我想知道是否有更清潔的方式。

my_routes = {}; 
my_routes[window.webroot + '/users'] = 'init_users'; 

MyRoute = Backbone.Router.extend({ routes: my_routes }) 
+0

那麼,有什麼問題嗎? – GoldenNewby 2012-02-20 20:49:50

回答

42

您可以使用Backbone.history.start這樣

Backbone.history.start({ 
    pushState: true, 
    root: "/public/search/" 
}); 
+0

這就是我正在尋找的。奇怪,我以爲我曾試過這個。謝謝。 – 2012-02-20 21:01:08