我目前正在尝试sessionAuthenticationSucceeded
在Ember.SimpleAuth.ApplicationRouteMixin
课堂上进行覆盖,以便我可以routeAfterAuthentication
使用传入的模型过渡到我的课堂。
基本上this.transitionTo(Configuration.routeAfterAuthentication, model);
,但即使在Ember.SimpleAuth.ApplicationRouteMixin.reopen()
我重写该函数之后也不会被调用。那么我对这一切都错了吗?Mixins不能以这种方式重新打开吗?或者我应该以routeAfterAuthentication
不同的方式将模型传递给过渡。
编辑:愚蠢的声誉限制,我自己会回答这个问题,但显然必须等待 8 小时,所以现在是这个答案:
好吧,不完全确定这是否是正确的方法,但它确实有效。我正在查看这个示例:custom-server,我最终这样做是为了完成我想要的。
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);
});