我有一个管理从localstorage读取数据的用户服务,它有一个属性,从本地存储中读取某个对象属性,该服务设置如此
import Ember from 'ember';
import LocalUser from 'bidr/models/user-local';
const {
computed: {
alias
}
} = Ember;
export default Ember.Service.extend({
localUser: LocalUser.create(),
user_id: alias('localUser.user.id'),
active_auction: alias('localUser.user.active_auction')
});
在我的item
路由的route.js文件中,我注入了这样的服务
user: Ember.inject.service('user'),
在模板中,我试图像这样访问它
{{user.active_auction}}
我的印象是我能做到的但不是这样吗?我是否需要在item
路由上设置一个等于service属性的属性才能使其工作?
答案 0 :(得分:0)
如果您不想为此模板的范围创建控制器,可以通过路由的setupController
挂钩在自动生成的控制器中设置属性,将服务公开给模板,如下所示: / p>
// application/some-route.js
export default Route.extend({
user: service(),
setupController(controller, model) {
this._super(controller, model);
set(controller, 'user', get(this, user))
}
});