Ember.js 当if/else条件改变时更新余烬把手模板

Ember.js 当if/else条件改变时更新余烬把手模板,ember.js,Ember.js,我正在我的应用程序中使用一个小“助手”功能来获取当前用户/登录状态: App.ApplicationController = Ember.Controller.extend({ isAuthenticated: function() { return Docket.AuthManager.isAuthenticated() }.property('Docket.AuthManager.apiKey'), currentUser: function() { retu

我正在我的应用程序中使用一个小“助手”功能来获取当前用户/登录状态:

App.ApplicationController = Ember.Controller.extend({

  isAuthenticated: function() {
    return Docket.AuthManager.isAuthenticated()
  }.property('Docket.AuthManager.apiKey'),

  currentUser: function() {
    return Docket.AuthManager.get('apiKey.user')
  }.property('Docket.AuthManager.apiKey')

});
下面是我的application.hbs的外观:

{{#if isAuthenticated}}
    foo
{{else}}
    bar
{{/if}}

但是,即使
isAuthenticated
返回另一个值,模板也不会得到它。唯一的解决方案:刷新页面。如果
Docket.AuthManager.apiKey
不是余烬属性(我很确定它不是),余烬将不知道它何时更改,从而导致计算属性重新触发并再次检查。Ember只知道使用其getter和setter获取/设置的属性。

不应该
isAuthenticated
是控制器上计算的
.property()
?噢,对不起,错误的代码段。我更新了我的问题你是对的,我看不见森林。实际上,该属性是
Docket.Settings.apiKey
,而不是
Docket.AuthManager.apiKey
。谢谢你的提示!