我想知道最好的方法是获取当前登录用户的用户模型记录。我正在使用torii与相应的firebase适配器相结合。
app/torri-adapters/application.js
import Ember from 'ember';
import ToriiFirebaseAdapter from 'emberfire/torii-adapters/firebase';
export default ToriiFirebaseAdapter.extend({
firebase: Ember.inject.service()
});例如:我有一个客户机模型,此时我有一个非常难看的解决方案来查询与当前登录用户相关的所有客户端记录:
app/routes/clients.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
var _this = this;
return this.store.query('user', {
orderBy: 'email',
equalTo: this.get('session.currentUser.email')
}).then(function(user) {
var myUser = user.get('firstObject');
return _this.store.query('client', {
orderBy: 'user',
equalTo: myUser.id
}).then(function(client) {
return client;
});
});
}
});肯定有更好的方法吗?
发布于 2016-04-21 04:09:01
您可以在应用程序初始化时将currentUser注入到所有控制器、路由和组件中,因此只要在需要的地方执行this.get('currentUser'),就可以引用当前用户。请参阅下面的部分,该部分展示了如何在此处完成此操作:https://guides.emberjs.com/v2.5.0/applications/dependency-injection/
https://stackoverflow.com/questions/36753282
复制相似问题