- EmberJS 教程
- EmberJS - 首頁
- EmberJS - 概述
- EmberJS - 安裝
- EmberJS - 核心概念
- 建立並執行應用程式
- EmberJS - 物件模型
- EmberJS - 路由器
- EmberJS - 模版
- EmberJS - 元件
- EmberJS - 模型
- EmberJS - 管理依賴
- EmberJS - 應用程式問題
- EmberJS - 配置 Ember.js
- EmberJS - Ember 檢查器
- EmberJS 實用資源
- EmberJS - 快速指南
- EmberJS - 實用資源
- EmberJS - 討論
計算屬性和聚合資料
計算屬性訪問陣列中的所有項以確定其值。它可以輕鬆地向陣列中新增或從中刪除項。dependent 鍵包含特殊鍵 @each,它用於更新當前計算屬性的繫結和觀察者。
示例
下面的示例展示了使用方法計算屬性和聚合資料的 Ember 的 @each 鍵 -
import Ember from 'ember';
export default function() {
var Person = Ember.Object.extend ({
//todos is an array which holds the boolean values
todos: [
Ember.Object.create ({
isDone: true
}),
Ember.Object.create ({
isDone: false
}),
Ember.Object.create ({
isDone: true
})
],
//dispaly the remaining values of todos
remaining: Ember.computed('todos.@each.isDone', function() {
var todos = this.get('todos');
//return the todos array
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.htm
廣告