Propriétés calculées et données agrégées

La propriété calculée accède à tous les éléments d'un tableau pour déterminer sa valeur. Il ajoute facilement les éléments et supprime les éléments du tableau. La clé dépendante contient une clé spéciale @each qui met à jour les liaisons et l'observateur pour la propriété calculée actuelle.

Exemple

L'exemple suivant montre l'utilisation de la propriété calculée et des données agrégées à l'aide de la clé @each d'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'));
}

Ouvrez maintenant le fichier app.js et ajoutez la ligne suivante en haut du fichier -

import computedaggregate from './computedaggregate';

Où, computedaggregate est un nom du fichier spécifié comme "computedaggregate.js" et créé dans le dossier "app". Maintenant, appelez le "computedaggregate" hérité en bas, avant l'exportation. Il exécute la fonction computedaggregate qui est créée dans le fichier computedaggregate.js -

computedaggregate();

Production

Exécutez le serveur de braises et vous recevrez la sortie suivante -