2011-08-08 158 views
9

在backbone.js上設置路由時,似乎框架會自動預先編號爲#。即Backbone.js URL路由

routes : { "example/:id" : "handler" }, 

將匹配www.example.com/#example/123

鏈接是否可以再添加#標籤的網址是什麼?我本質上是試圖將我的應用程序構建爲www.example.com/text/#example/123(注意文本/在#之前)。

有沒有辦法改變backbone.js框架本身?

回答

1

如果您的服務器將包含您的應用的頁面提供給www.example.com/text,那麼骨幹路由器將處理類似www.example.com/text#example/123的網址。它可能不是可取的(即使你的服務器支持它)在www.example.com/test/上爲你的頁面提供服務,因爲那個url表明它是一個文件夾,而不是一個特定的頁面。

骨幹路由器幾乎忽略了baseurl(除了存儲和使用pushState和popState),所以你可以在你想要的任何url上提供你的頁面。

希望htis幫助。

+0

我確實設法通過您提到的www.example.com/text#example/123網址工作,但它並不漂亮,我希望能夠在那裏使用斜槓。我有我自己的內部路由服務器www.example.com/test,這是必要的應用程序。無論如何,我可以指定baseurl以包含www.example.com/text而不只是域本身? – bijanv

+0

如果不修改骨幹代碼庫,我認爲你不能實現你的建議。 – idbentley