2015-10-02 45 views
0

在我的Ember.js应用程序中我有模型:item,module,rank具有以下结构:item hasMany模块,每个模块可以有一个等级和等级有属性分数。Ember.js:来自子模型的计算属性

项目是我的控制器模型。我想要显示来自所有模块的所有分数的总和。所以我想创建计算属性,但是我不知道如何编写依赖项.property("name_of_property")。你可以帮帮我吗?

回答

1

尝试是这样的:

Ember.Controller.extend({ 
    sum: Ember.computed('model.modules.[]', function() { 
    var sum = 0; 
    this.get('model.modules').mapBy('rank.score').forEach(function(score) { 
     sum = sum + score; 
    }); 
    return sum; 
    }) 
}); 

当定义sum属性要设置这样model.modules.[]的依赖,这意味着,当modules RecordArray的变化,无论是新module已添加或删除,这计算的属性将被再次调用。

希望它有帮助。

+0

它的工作原理!非常感谢! – user3248821