Ember.js:来自儿童模特的计算财产

时间:2015-10-02 13:12:11

标签: ember.js

在我的Ember.js应用程序中我有模型:项目,模块,等级具有以下结构:项目有多个模块,每个模块可以有一个等级和等级有属性得分。

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

1 个答案:

答案 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或删除后,将再次调用此计算属性。

希望它有所帮助。