【问题标题】:Ember simple auth invalidateSession from own controller来自自己的控制器的 Ember 简单身份验证 invalidateSession
【发布时间】:2014-07-30 10:46:53
【问题描述】:

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

我通常像他们在示例中那样使用它:{{ action 'invalidateSession' }} 在我的车把模板中。在我打电话给invalidateSession() 之前,我需要做一些preLogout 的事情,所以需要有一种方法 - 但目前我不知道该怎么做。

模板:

{{ 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");
}

谢谢

【问题讨论】:

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


    【解决方案1】:

    最好的方法是覆盖invalidateSession 操作并在您没有​​采取必要的操作后调用_super,例如:

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

    【讨论】:

    • 我会给这个机会 - 但由于它必须很快完成,所以我现在不得不做一些小技巧 - 使用模板中的按钮和这个动作提出了这个想法它不会向用户显示,我将在控制器中使用一个有点讨厌的助手单击它。我会回来的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    相关资源
    最近更新 更多