2013-02-10 64 views
0

問題

升級到最新ember.js我得到這個錯誤後:錯誤尋找「加載」狀態升級舊路由器PRE4時

Uncaught Error: assertion failed: Could not find state for path: "loading"

綜觀框架代碼,看起來,燼寶想要路由到「加載」路線,直到燼數據承諾返回。我沒有看到任何文件關於 '裝載' 的路線,所以才嘗試添加一個這樣的:

loading: Ember.Route.extend({ 
}), 

這會導致錯誤:

Uncaught Error: assertion failed: Loading state should not be a route

線索

  • 從主站運行構建(提交693c8185fbda70df523bb60d21f3dc6d9d94b018
  • 使用舊版路由器(ember-old-router.js )所以我可以升級而不重寫我的路由器
  • 錯誤只發生在我直接導航到URL時。當我從兄弟路線路由時,它不會發生。

問題

我應該某處定義加載路線?如果是這樣,語法是什麼?如果不是,我該如何防止這個錯誤?

回答

0

這是一個奇怪的問題,因爲我認爲Ember.StateManager/Ember.State已不再使用,但它似乎是你在某處使用它們。

這是爲什麼?

然而,通過聲明loading作爲Ember.State,它至少應該解決您的問題,但除非我弄錯可怕,你應該遠離Ember.State贊成新的路由器的移動很好。

loading: Ember.State.extend();

+0

您的回答修正了錯誤...謝謝! FWIW,我使用'ember-old-router.js'將我的升級分成更小的步驟。首先,我將修復我的操作助手,數據適配器等。然後我將重新編寫我的路由器作爲一個單獨的步驟。啊哈! – jefflab 2013-02-10 16:59:39

+0

啊!聽起來不錯!我很高興爲你解決它。 – Wildhoney 2013-02-10 17:40:24