7

我刚刚升级到最新的 ember,以下代码被破坏,我在路由器上定义了许多这些操作

App.Router = Em.Router.extend
  showUser: Ember.Route.transitionTo('root.users.user')

带有以下错误消息

未捕获的类型错误:对象 Ember.Route 没有方法“transitionTo”

更新日志中没有关于此更改的任何内容,但已从 Route 类中删除。它仍然存在于实例上。

我还能如何在可以从其他地方调用的路由器上定义此类操作?

4

2 回答 2

9

最近 ember 推出了一款新的路由器。他们的指南已经相当成熟,所以请检查这些如何实现您的路由。

简而言之:

App.Router.map(function(match) {
  match('/').to('index');
  match('/posts').to('posts');
});

App.IndexRoute = Ember.Route.extend({
  redirect: function() {
    this.transitionTo('posts');
  }
});
于 2013-01-05T09:55:12.170 回答
3

如果您是从 master 构建的,您会ember-old-router.js在 dist 目录中找到,这将允许您基于“旧”路由器的代码在您过渡到新的做事方式时继续运行。

要了解现在的情况,请查看此要点或官方网站的指南部分。

于 2013-01-05T10:01:19.133 回答