所以我有一个hasMany定义为
任务:DS.hasMany('quest')
我有一个应该完成每个任务并确定总数的属性。
该函数看起来像这样,

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添加async:true,但是它完全停止了forEach的工作。目前,它循环了3次(我有3个任务),但它无法访问该任务的任何属性。
我的想法是与任务仍在加载有关。

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

最佳答案

您的计算属性取决于每个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]'),

10-06 04:23