2013-05-12 80 views
2

我有一个计算属性formattedNotificationTime的控制器。这应该是连接两个属性(notifHoursnotifMinutes)从它的基础模型,并返回结果到屏幕。控制器计算属性中未定义的模型属性

我的问题是,该模型属性始终undefined从控制器访问时 - 使用模板访问时有些混乱添加到他们正确地返回到屏幕的搭配{{ model.notifHours }}

我怀疑我在做某种根本性错误/有一个很大的误区某处在以下3个代码:

型号

这似乎是工作在任何其他情况发现 - 一个unpop ulated实例最初被加载,然后由AJAX请求/承诺设置。

App.Member = Ember.Object.extend({ 
    load: function() { 
     var member = this; 
     return $.ajax({ 
      url: '/members/' + this.get('id'), 
      dataType: 'json' 
     }).then(function (m) { 
      member.setProperties(m); 
      return member; 
     }); 
    } 
}); 

路线

当进入本人创建的Member包括ID,然后将其在setupController填充实例的路由。再说一遍,这似乎在大多数情况下都有效(我的模板中有很多文本框都是用模型中的数据填充的)。

控制器

这是我有问题......不管我如何努力从模型访问notifHours/notifMinutes,他们总是返回undefined。可能值得一提的是,我也尝试过没有任何运气的语法.property('model')

我怀疑我有这样的计算性能的实现根本上的错误,我只是不知道如何/为什么..

App.SettingsAccountController = Ember.ObjectController.extend({ 
    formattedNotificationTime: function() { 
     return this.get('model.notifHours') + ':' + this.get('model.notifMinutes'); 
    }.property('formattedNotificationTime') 
}); 

回答

0

问题可能是在控制器,因为你错误地指出,财产从它自己计算。试试这个

App.SettingsAccountController = Ember.ObjectController.extend({ 
    formattedNotificationTime: function() { 
     return this.get('model.notifHours') + ':' + this.get('model.notifMinutes'); 
    }.property('model.notifHours', 'model.notifMinutes') 
});