Ember.js 注销后将用户重定向到同一页面

Ember.js 注销后将用户重定向到同一页面,ember.js,ember-simple-auth,Ember.js,Ember Simple Auth,有时,我希望能够让用户注销,但留在他们已经在的页面上 我正在使用注销用户,但这会重新加载应用程序并将它们带到我的应用程序的根URL-登录页面。在某些情况下,这不是我想要的行为,相反,我希望用户留在他们所在的页面上,但显示该页面的“注销”版本 是否有一种方法可以注销用户,并且a)不重新加载应用程序,或者b)指定注销后应将用户重定向到哪个页面 我尝试过转换到另一个路由,但在会话无效后似乎没有办法这样做(这不是一个承诺)。在应用程序路由中,您可以通过执行以下操作来覆盖它 import Applicat

有时,我希望能够让用户注销,但留在他们已经在的页面上

我正在使用注销用户,但这会重新加载应用程序并将它们带到我的应用程序的根URL-登录页面。在某些情况下,这不是我想要的行为,相反,我希望用户留在他们所在的页面上,但显示该页面的“注销”版本

是否有一种方法可以注销用户,并且a)不重新加载应用程序,或者b)指定注销后应将用户重定向到哪个页面


我尝试过转换到另一个路由,但在会话无效后似乎没有办法这样做(这不是一个承诺)。

在应用程序路由中,您可以通过执行以下操作来覆盖它

import ApplicationRouteMixin from 'simple-auth/mixins/application-route-mixin';

export default Ember.Route.extend(ApplicationRouteMixin, {

actions: {
  sessionInvalidationSucceeded: function(){
   var currentRoute = this.controllerFor('application').get('currentRouteName');
   this.transitionTo(currentRoute); // or whatever route you want
  },
  sessionInvalidationFailed: function(error){
    console.log(error);
    var currentRoute = this.controllerFor('application').get('currentRouteName');
    this.transitionTo(currentRoute); // or whatever route you want
  }
}
});

sessionInvalidationSucceeded的默认行为基本上是重新加载窗口,您可以通过重写方法来重写它

它必须在应用程序路由中吗?是否在我需要不同行为的特定于此页面的路由中?您可以尝试一下,看看它是否有效,或者只检查当前路由变量,该变量应该是当前页面的路由,如果它等于某个路由,则执行其他操作