我可以从注入的服务中获得计算属性吗?

时间:2015-07-06 23:30:22

标签: ember.js ember-cli

我在我的应用程序路由中注入的服务中有一个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}}

此计算属性仅在我将其移动到控制器时才有效,这应该在路由和控制器中都有效吗?我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:3)

注入服务后,您可以完全按照上面显示的方式访问服务上的计算属性。来自Ember docs:

  

创建一个懒惰地在容器中查找服务的属性。对于可以注入服务的对象没有限制。

您可以像预期的那样访问服务对象上的计算属性和调用函数。