来自自己的控制器的Ember simple auth invalidateSession

时间:2014-07-30 10:46:54

标签: ember.js handlebars.js ember-simple-auth

目前我正面临这个问题,我需要在我自己的一个控制器中使用ember-simple-auth(https://github.com/simplabs/ember-simple-auth/)中的invalidateSession()动作。

我通常在他们的示例中使用它:{{ action 'invalidateSession' }}在我的手柄模板中。在我致电preLogout之前,我需要做一些invalidateSession()内容,因此需要有办法 - 但目前我无法弄清楚如何。

模板:

{{ action 'preLogout' target='view' }}

查看:

actions:{
    preLogout:function(){
        this.get("controller").send("preLogout");
    }
}

控制器:

actions:{
    preLogout: function(){
    var self = this;
    //some preLogout things to do
    //INVALIDATESESSION - how?
    this.transitionToRoute("index");
}

由于

1 个答案:

答案 0 :(得分:4)

执行此操作的最佳方法是覆盖invalidateSession操作,并在您执行必要的操作后致电_super,例如:

// app/routes/applications.js
export default Ember.Route.extend(ApplicationRouteMixin, {
  actions: {
    invalidateSession: function() {
      // do custom stuff…
      this._super();
    }
  }
});