目录

计算属性和聚合数据(Computed Properties and Aggregate Data)

computed属性访问数组中的所有项以确定其值。 它可以轻松添加项目并从阵列中删除项目。 从属密钥包含一个特殊密钥@each ,它更新当前计算属性的绑定和观察者。

例子 (Example)

以下示例通过使用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();

输出 (Output)

运行ember服务器,您将收到以下输出 -

Ember.js计算属性和聚合数据
↑回到顶部↑
WIKI教程 @2018