gpt4 book ai didi

ember.js - ember-simple-auth:有什么方法可以从路由器中获取 session ?

转载 作者:行者123 更新时间:2023-12-02 01:47:35 25 4
gpt4 key购买 nike

我想像 Mixpanel with EmberJS 中提到的那样对每个转换使用分析跟踪

为此,我需要能够重新打开 Router

ember-simple-auth 有什么方法可以获取当前 session 吗?我的理解是它对所有路由和 Controller 都可用,但没有看到具体提到 Router。

编辑:

我现在正在探索的另一种方法是在我想要进行分析识别的所有路由中包含一个 mixin。我有一个像下面这样的混合:

`import Ember from 'ember'`

AnalyticsMixin = Ember.Mixin.create
beforeModel: (transition) ->
@_super(transition)
userId = @get('session.user_id')
if (!Ember.isEmpty(userId))
user = @store.find('user', userId)
username = user.get('username') # this doesn't work

我可以从 session 对象中获取 user_id,尽管我执行的 Session.reopen 似乎不包含 user在其自己的。 @store.find('user', userId) 也不起作用。

以下在模板中工作正常:

Authentication =
name: "authentication"
before: "simple-auth"
initialize: (container) ->
Session.reopen
user: (->
userId = @get('user_id')
if (!Ember.isEmpty(userId))
return container.lookup('store:main').find('user', userId)
).property('userId')
container.register("authenticator:custom", CustomAuthenticator)

最佳答案

您始终可以通过以下方式从 Ember 的容器中获取 session

container.lookup('simple-auth-session:main');

关于ember.js - ember-simple-auth:有什么方法可以从路由器中获取 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24661352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com