2013-11-04 46 views
4

所以我得定义为这样
任务一的hasMany:DS.hasMany(“任务”)
我是应该去通过每个任务的属性和计算总数。 功能看起来像这样,访问必须通过很多的foreach在计算财产烬

questXP: function() { 
    var amount = 0; 

    this.get('quests').forEach(function(item) 
    { 
     console.log(item.get('xpReward')); 
     amount += parseInt(item.get('xpReward')); 
    }); 
    return amount; 
}.property('quests'), 

我试着加入异步:真到了的hasMany,但它从所有工作停止在foreach。目前它循环3次(我有3个任务),但它无法访问任何任务的属性。 我的想法是与任务仍在加载的事实有关。

我在做什么错的任何想法?

回答

4

你的计算属性取决于每个xpReward属性。所以你需要使用[email protected]而不是quests

questXP: function() { 
    var amount = 0; 

    this.get('quests').forEach(function(item) 
    { 
     console.log(item.get('xpReward')); 
     amount += parseInt(item.get('xpReward')); 
    }); 
    return amount; 
}.property('[email protected]'),