【问题标题】:Ember.js: Computed property from child modelsEmber.js:来自子模型的计算属性
【发布时间】:2015-10-02 13:12:10
【问题描述】:

在我的 Ember.js 应用程序中,我有模型:item、module、rank,结构如下:item hasMany modules,每个模块可以有一个 rank,rank 有属性 score。

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

【问题讨论】:

    标签: ember.js


    【解决方案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,将调用此计算属性再次。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 2016-01-19
      • 2017-12-18
      • 2013-11-29
      • 2012-07-27
      • 2020-12-10
      • 1970-01-01
      相关资源
      最近更新 更多