我正在尝试使用以下模板:
<script type="text/x-handlebars" data-template-name="login">
{{#if logged_in}}
Logged in
{{else}}
Not logged in
{{/if}}
</script>
与模型:
App.Login = DS.Model.extend({
access_token: DS.attr('string'),
logged_in: function() {
return (this.get('access_token') != null);
}.property('access_token')
});
显示用户的登录状态。
access_token 是通过 Route 的 setupController 中的异步回调设置的:
App.LoginRoute = Ember.Route.extend({
setupController: function(controller, model) {
controller.set('content', model);
// call async login method
window.setInterval(function test() {
model.set('access_token', 'MY_ACCESS_TOKEN');
console.log(model.get('access_token'));
}, 5000);
},
model: function() {
return App.Login.find();
}
});
问题是logged_in 似乎永远不会改变(即使执行了model.set 行并且更新了'access_token')。我做错了什么还是应该提交错误?
完整代码:http: //jsfiddle.net/Q8eHq/