在我的Ember.js应用程序中我有模型:项目,模块,等级具有以下结构:项目有多个模块,每个模块可以有一个等级和等级有属性得分。
项目是我的控制器模型。我想显示所有模块中所有分数的总和。所以我想创建计算属性,但是我不知道如何在.property("name_of_property")
中编写依赖项。你能帮帮我吗?
答案 0 :(得分: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
或删除后,将再次调用此计算属性。
希望它有所帮助。