Propriedades Computadas e Dados Agregados

A propriedade computada acessa todos os itens em uma matriz para determinar seu valor. Ele adiciona e remove facilmente os itens do array. A chave dependente contém uma chave especial @each que atualiza as ligações e o observador para a propriedade computada atual.

Exemplo

O exemplo a seguir mostra o uso de propriedade computada e os dados agregados usando a chave @each do Ember -

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('[email protected]', 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'));
}

Agora abra o arquivo app.js e adicione a seguinte linha no topo do arquivo -

import computedaggregate from './computedaggregate';

Onde, computedaggregate é um nome do arquivo especificado como "computedaggregate.js" e criado na pasta "app". Agora, chame o "computedaggregate" herdado na parte inferior, antes da exportação. Ele executa a função computedaggregate que é criada no arquivo computedaggregate.js -

computedaggregate();

Resultado

Execute o servidor ember e você receberá a seguinte saída -