【发布时间】:2016-01-05 00:35:44
【问题描述】:
如果能看到一个如何将观察者添加到 ember simple auth 的会话服务数据属性的示例,那就太棒了。
我目前遇到另一个问题,但很快就会回来。
目前我在我的 application/route.js 中写了这个,但是我在另一个问题上被阻止了,所以我不知道它有多正确。我什至不知道应用程序路由是否是放置这个观察者的最佳位置,更不用说放在 beforeModel 挂钩中了。
export default Ember.Route.extend({ //adds in login/logout actions
session: Ember.inject.service('session'),
//I also tried putting this code in a model() hook, still no luck.
beforeModel() {
this.get('session').addObserver('data', (sender, key, value, rev) => {
console.log('session data addObserver fired with these arguments:', sender, key, value, rev)
})
},
actions: {
error: function(error, transition) {
console.error('ApplicationRoute error action', arguments)
// substate implementation when returning `true`
return true;
}
}
}).extend(ApplicationRouteMixin)
注意:我正在使用 service.addObserver api 的未记录版本,可能会有点问题,但我提交了一个关于此的拉取请求:https://github.com/emberjs/ember.js/pull/12768
【问题讨论】:
-
这个的用例是什么?您希望在会话数据中的任何内容发生变化时触发观察者?
-
是的,跟踪会话数据的所有更改。
标签: ember.js ember-simple-auth