首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ember-Simple-Auth:重载sessionAuthenticationSucceeded

Ember-Simple-Auth:重载sessionAuthenticationSucceeded
EN

Stack Overflow用户
提问于 2014-06-24 02:50:27
回答 2查看 993关注 0票数 0

我目前正在尝试覆盖Ember.SimpleAuth.ApplicationRouteMixin类中的sessionAuthenticationSucceeded,这样我就可以通过传入的模型转换到我的routeAfterAuthentication

基本上是this.transitionTo(Configuration.routeAfterAuthentication, model);,但即使在执行了Ember.SimpleAuth.ApplicationRouteMixin.reopen()之后,我的函数覆盖也不会被调用。那么,我说的全错了吗?Mixins不能以这种方式重新打开吗?或者我应该以不同的方式将模型传递给routeAfterAuthentication转换。

编辑:愚蠢的声誉限制,我本来打算自己回答这个问题,但显然必须等待8个小时,所以这是现在的答案:

嗯,不完全确定这是否是正确的方法,但它是有效的。我正在看这个例子:custom-server和我最终这样做是为了完成我想要的。

代码语言:javascript
复制
var applicationRoute = container.lookup('route:application');
var session = container.lookup('ember-simple-auth-session:main');
var store = container.lookup('store:main');

session.on('sessionAuthenticationSucceeded', function() {
    var user = store.find('user', session.get('user_id'));
    container.lookup('controller:application').set('content', user)
    applicationRoute.transitionTo('profile.resume', user);
});
EN

回答 2

Stack Overflow用户

发布于 2014-06-26 16:20:56

最简单的解决方案是简单地在应用程序路由上定义sessionAuthenticationSucceeded,而不是重新打开mixins:

代码语言:javascript
复制
/// routes/application.js
import ApplicationRouteMixin from 'simple-auth/mixins/application-route-mixin';

export default Ember.Route.extend(ApplicationRouteMixin, {
  actions: {
    sessionAuthenticationSucceeded: function() {
      …
    }
  }
})
票数 1
EN

Stack Overflow用户

发布于 2014-06-26 23:23:51

嗯,不完全确定这是否是正确的方法,但它是有效的。我正在看这个例子:custom-server和我最终这样做是为了完成我想要的。

代码语言:javascript
复制
var applicationRoute = container.lookup('route:application');
var session = container.lookup('ember-simple-auth-session:main');
var store = container.lookup('store:main');

    session.on('sessionAuthenticationSucceeded', function() {
        var user = store.find('user', session.get('user_id'));
        container.lookup('controller:application').set('content', user)
        applicationRoute.transitionTo('profile.resume', user);
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24373210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档