目前我正面临这个问题,我需要在我自己的一个控制器中使用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");
}
由于
答案 0 :(得分:4)
执行此操作的最佳方法是覆盖invalidateSession
操作,并在您执行必要的操作后致电_super
,例如:
// app/routes/applications.js
export default Ember.Route.extend(ApplicationRouteMixin, {
actions: {
invalidateSession: function() {
// do custom stuff…
this._super();
}
}
});