【问题标题】:Ember Route.transitionTo removedEmber Route.transitionTo 已移除
【发布时间】:2013-01-05 09:42:39
【问题描述】:

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

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

带有以下错误信息

Uncaught TypeError: Object Ember.Route has no method 'transitionTo'

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

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

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    最近 ember 推出了一款新路由器。 Their guides 已经很成熟了,所以请检查这些如何实现你的路由。

    简而言之:

    App.Router.map(function(match) {
      match('/').to('index');
      match('/posts').to('posts');
    });
    
    App.IndexRoute = Ember.Route.extend({
      redirect: function() {
        this.transitionTo('posts');
      }
    });
    

    【讨论】:

    • 不幸的是,指南没有解释如何以编程方式在状态之间转换
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-19
      相关资源
      最近更新 更多