我在我的应用程序路由中注入的服务中有一个isAuthenticated属性,如何在路由中从注入的服务获得计算属性?
export default Ember.Route.extend({
session : Ember.inject.service('market-session'),
isUser : Ember.computed.oneWay('session.IsAuthenticated'),
}
这可能吗?在模板中似乎没有得到价值。
在模板内 -
{{#if isUser}}
User is authenticated
{{else}}
User log in form
{{/if}}
此计算属性仅在我将其移动到控制器时才有效,这应该在路由和控制器中都有效吗?我在这里错过了什么吗?
答案 0 :(得分:3)
注入服务后,您可以完全按照上面显示的方式访问服务上的计算属性。来自Ember docs:
创建一个懒惰地在容器中查找服务的属性。对于可以注入服务的对象没有限制。
您可以像预期的那样访问服务对象上的计算属性和调用函数。