Ember.js 在ember的computed属性中,Access有许多via foreach

Ember.js 在ember的computed属性中,Access有许多via foreach,ember.js,ember-data,Ember.js,Ember Data,所以我把hasMany定义为So 任务:DS.hasMany('quest') 我有一个财产,应该通过每个任务,并计算出总数。 函数如下所示 questXP: function() { var amount = 0; this.get('quests').forEach(function(item) { console.log(item.get('xpReward')); amount += parseInt(item.get('xpRe

所以我把hasMany定义为So
任务: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'),  
我曾尝试将async:true添加到hasMany中,但它完全停止了forEach的工作。目前它循环了3次(我有3个任务),但它无法访问任务的任何属性。 我认为这与任务仍在加载有关


你知道我做错了什么吗?

你的计算属性取决于每个
xpReward
属性。所以你需要使用
任务。@each.xpReward
istead of
任务

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.@each.xpReward'),