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
。谢谢你的提示!