2013-04-17 35 views
0

我使用的位置:「歷史」的ember.js。我的網站加載的第一條路線(即我在URL中輸入的路線)呈現良好。我可以點擊一個linkTo錨點以獲得第二條路線,但是當我點擊後退按鈕返回到第一條路線(最初加載的路線)時,它不會被路由。最初的路線是不是在歷史上 - ember.js位置:「歷史」

我能做些什麼來推動最初的路線進入歷史?我需要這樣做嗎?

我的路由映射是這樣的:

App.Router.reopen({ 
    location: "history" 
}); 

App.Router.map(function() { 
    this.resource("foods", function(){ 
    this.route("index", {path: "/"}); 
    }); 
    this.route("fourOhFour", { path: "*:"}); 
}); 

注:它似乎並沒有不管我開始在http://mysite.example/http://mysite.example/foods。在任何一種情況下,嘗試返回到最初加載的路線都不起作用。

我相信也許我應該推動一些東西進入歷史,但不知道如何去做,也不知道爲什麼我需要。 「fourOhFour」只是我未定義路線的處理程序,順便說一句。我不認爲這與這個問題有關。

任何意見歡迎。

回答

0

這個很好。我遇到了同樣的問題,並開始深入到Ember.HistoryLocation。我發現這個承諾在github到ember.js的一個分支是固定的問題對我來說:

https://github.com/teddyzeenny/ember.js/commit/c2c483dc592bb926c210e2c4c174dba7314d18dd

...我其實只是合併從這個差異承諾我的本地ember.js的副本,現在我正在運行歷史路由器,這對開發人員來說很好,這足以讓我繼續前進,直到將其重新嵌入到主項目中。

+0

謝謝@ mysterlune。我會說你的感覺很好。 [Webkit bug數據庫](https://bugs.webkit.org/buglist.cgi?quicksearch=popstate)不會提示任何即將發生的瀏覽器修復。看起來這個補丁已經合併了。 – laurelnaiad