2013-11-04 43 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]'),