計算屬性和聚合資料



計算屬性訪問陣列中的所有項以確定其值。它可以輕鬆地向陣列中新增或從中刪除項。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 伺服器,您將收到以下輸出 −

Ember.js Computed Properties and Aggregate Data
emberjs_object_model.htm
廣告
© . All rights reserved.