2013-02-10 62 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