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

abF*_*bFx 5 ember.js ember-cli

我在我的应用程序路由中注入的服务中有一个isAuthenticated属性,如何在我的路由中从注入的服务获得计算属性?

export default Ember.Route.extend({
    session : Ember.inject.service('market-session'),
    isUser : Ember.computed.oneWay('session.IsAuthenticated'),
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?在模板中似乎没有得到价值.

在模板内 -

{{#if isUser}}
   User is authenticated
{{else}}
   User log in form
{{/if}}
Run Code Online (Sandbox Code Playgroud)

这个计算属性只有在我将它移动到控制器时才有效,这应该在路由和控制器中都能正常工作吗?我在这里错过了什么吗?

hac*_*ave 3

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

创建一个属性来延迟查找容器中的服务。对于可以将服务注入哪些对象没有限制。

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