计算属性和聚合数据
计算属性访问数组中的所有项以确定其值。它可以轻松地从数组中添加项和删除项。依赖键包含一个特殊键 @each,用于更新当前计算属性的绑定和观察者。
示例
以下示例展示了如何使用 Ember 的 @each 键来使用计算属性和聚合数据 −
import Ember from 'ember';
export default function() {
var Person = Ember.Object.extend ({
//todos 是一个包含布尔值的数组
todos: [
Ember.Object.create ({
isDone: true
}),
Ember.Object.create ({
isDone: false
}),
Ember.Object.create ({
isDone: true
})
],
//显示todos的剩余值
remaining: Ember.computed('todos.@each.isDone', function() {
var todos = this.get('todos');
//返回待办事项数组
return todos.filterBy('isDone', false).get('length');
}),
});
var car_obj = Person.create();
document.write("The remaining number of cars in todo list: " + car_obj.get('remaining'));
}
现在打开 app.js 文件并在文件顶部添加以下行 −
import computedaggregate from './computedaggregate';
其中,computedaggregate 是指定为"computedaggregate.js"并在"app"文件夹下创建的文件的名称。现在,在导出之前,在底部调用继承的"computedaggregate"。它执行在 computedaggregate.js 文件中创建的 computedaggregate 函数 −
computedaggregate();
输出
运行 ember 服务器,您将收到以下输出 −

emberjs_object_model.html