在重定向上创建的新过渡对象

时间:2013-12-04 16:43:03

标签: ember.js

我在路由中有一些Ember代码,我正在等待转换对象,以便在转换完成后执行操作:

willTransition: function (transition) {
    ...

    // Wait until the transition has finished before continuing.
    transition.then(function () {
        // Transition successful
        ...
    }, function () {
        // Transition aborted
        ...
    });
}

除了我的应用中的一个案例之外,所有人都会调用“成功转换”功能。这种情况是转换到在其重定向方法中执行transitionTo的路由。对transition的调用要中止原始转换 - 我在上面的代码中等待的转换 - 并用新的转换替换活动转换。我正在等待的承诺被拒绝,因此我的中止处理程序被调用。

有什么方法可以获得新的过渡对象并等待它吗?

1 个答案:

答案 0 :(得分:1)

从Ember 1.2(changelog here)开始,didTransition挂钩被添加到路由器(pull request)。

转换发生后,将调用

didTransition

App.TestRoute = Ember.Route.extend({
  actions: {
    willTransition: function(transition) {
      ...
    },
    didTransition: function() {
      ...
    }
  }
});

JSBin example