4

だから私はそう
クエストとして定義された 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'),  

async: true を hasMany に追加しようとしましたが、forEach がまったく機能しなくなります。現時点では 3 回ループします (私は 3 つのクエストを持っています) が、クエストのどのプロパティにもアクセスできません。私の考えでは、クエストがまだロードされているという事実に関連しています。

私が間違っていることについてのアイデアはありますか?

4

1 に答える 1

4

計算されたプロパティは、各xpRewardプロパティに依存します。quests.@each.xpRewardしたがって、代わりに isを使用する必要があります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('quests.@each.xpReward'),
于 2013-11-04T15:56:25.797 に答える