我注意到中的骨幹應用我建,並想知道,如果這種行爲意味着可以預期的,或者如果我做錯了輕微的怪癖......包括根主幹航線
我火了Backbone.history像這樣:
Backbone.history.start({
root: '/au/store/',
pushState: true,
silent: true
});
爲了向後/向前按鈕導航觸發的路線,我需要他們建立這樣的:
router = Backbone.Router.extend({
routes: {
'au/store/:slug' : 'slug',
'au/store/?*params' : 'params'
}
});
這工作得很好。按照預期瀏覽瀏覽器歷史記錄到/au/store/?foo=bar
會觸發'params'路線。
我有雖然是router.navigate()
不會觸發路由問題:
router.navigate('?foo=bar', {trigger:true}); // route doesn't trigger
添加根到URL不起作用或者:
router.navigate('au/store/?foo=bar', {trigger:true}); // navigates to /au/store/au/store/?foo=bar
所以我的解決辦法目前使用的是運行所有路線兩次,一次以根爲前綴並且一次沒有:
routes: {
'au/store/:slug' : 'slug',
'au/store/?*params' : 'params',
':slug' : 'slug',
'?*params' : 'params'
}
現在,它會通過router.navigate()觸發後退/前進路線。
但是,這似乎是一個黑客位,並一定會導致停機更復雜的路線軌跡問題......
任何人都可以向我解釋什麼,我做錯了,或者爲什麼不表現出我對它的期待?
因此,這是固定的骨幹0.9.2 ,它現在按照它應該的方式工作(如同在這個問題的兩個答案中所述)。 – market 2012-06-06 02:37:14