我在我的应用中使用了一个小“帮助”功能来获取当前用户/登录状态:
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
返回另一个值,模板也不会得到它。唯一的解决方案:刷新页面。如何在不刷新整个页面的情况下实现这一目标?
答案 0 :(得分:1)
如果Docket.AuthManager.apiKey
不是一个余烬属性,(我很确定它不是),ember将不知道它何时被改变,导致计算属性重新触发并再次检查。 Ember只知道使用其getter和setter获取/设置的属性。