使用旧路由器升级到pre4时查找“加载”状态时出错

时间:2013-02-10 03:10:59

标签: ember.js ember-data

问题

升级到最新的ember.js后,我收到此错误:

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

查看框架代码,似乎ember想要路由到'加载'路由,直到ember数据承诺返回。我没有看到任何关于“加载”路线的文档,所以只是尝试添加一个这样的:

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

导致错误:

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

线索

  • 从master(commit 693c8185fbda70df523bb60d21f3dc6d9d94b018
  • 运行构建
  • 使用旧的路由器版本(ember-old-router.js),这样我就可以在不重写路由器的情况下进行升级
  • 只有在我直接导航到URL时才会出现错误。当我从兄弟路线路线时,它不会发生。

问题

我应该在某处定义加载路线吗?如果是这样,语法是什么?如果没有,我该如何防止此错误?

1 个答案:

答案 0 :(得分:0)

这是一个奇怪的问题,因为我认为不再使用Ember.StateManager / Ember.State,但似乎你在某处使用它们。

为什么会这样?

尽管如此,通过将loading声明为Ember.State,它至少可以解决您的问题,但除非我非常错误,否则您应该远离Ember.State。新路由器。

loading: Ember.State.extend();