2012-10-10 139 views
0

我有一個有趣的怪癖ember.js基於路由器的應用程序。由於路由器文檔相當稀疏,我不確定這是否是功能錯誤或其他地方的某些代碼的意外結果。Ember重新加載路由器恢復

當我在瀏覽器中重新載入包含應用程序的頁面時,應用程序跳轉到我上次所在的路線。我有路由序列化爲散列。所以一個例子是我在app.html#/users/1/details,我刪除了哈希,並添加一個隨機查詢變量app.html?reload=randomnumber並加載頁面。只要ember加載,它會將#/users/1/details添加回該地址。

這是燼的特徵/後果,還是我寫的一些垃圾。我還沒有發現任何可能導致這種情況的信息。

如果它是一個燼特徵,有沒有辦法禁用它?

回答

0

你打電話「」,究竟是什麼?

當使用哈希序列化路由時,Ember無法在瀏覽器中保留任何狀態。 Ember沒有什麼可以看到的:重新加載頁面時,整個狀態都會丟失,並根據請求的url進行重置,從而返回內容初始化。

儘管如此,當散列存在時,Ember使用它來重置路由器的狀態。

所以我懷疑是你還在重新加載網址.../app.html#/users/1/details

您是否看過您的網絡歷史記錄,在開發人員工具(或同等版本)

第一個項目應該是一個GET請求,它會指示有效請求的URL和散列(如果有的話)。

+0

謝謝我不確定Ember是否使用了任何新的瀏覽器的持久性功能來保存它的狀態或一些這樣的廢話。散列字符串沒有在獲取請求中發送,但我認爲Chrome瀏覽器在加載頁面時有損於恢復它,儘管我需要再測試一下才能確認。它一定是假設我想去我之前的主播。僅供參考我的刷新方法就像'window.location = window.location.pathname +'?reload'+ App.generateRandVal()'。 – wmarbut

相關問題