EmberJS - Propriétés calculées de chaînage de modèle objet

La propriété calculée de chaînage est utilisée pour agréger une ou plusieurs propriétés calculées prédéfinies sous une property.

Syntaxe

var ClassName = Ember.Object.extend ({
   NameOfComputedProperty1: Ember.computed(function() {
      return VariableName;
   }),

   NameOfComputedProperty2: Ember.computed(function() {
      return VariableName;
   });
});

Exemple

L'exemple suivant montre comment utiliser les propriétés calculées comme valeurs pour créer de nouvelles propriétés calculées -

import Ember from 'ember';

export default function() {
   var Person = Ember.Object.extend ({
      firstName: null,
      lastName: null,
      age: null,
      mobno: null,
      
      //Defining the Details1 and Details2 computed property function
      Details1: Ember.computed('firstName', 'lastName', function() {
         return this.get('firstName') + ' ' + this.get('lastName');
      }),

      Details2: Ember.computed('age', 'mobno', function() {
         return 'Name: ' + this.get('Details1') + '<br>' + ' Age: ' + this.get('age') + 
            '<br>' + ' Mob No: ' + this.get('mobno');
      }),
   });

   var person_details = Person.create ({
      //initializing the values for variables
      firstName: 'Jhon',
      lastName: 'Smith',
      age: 26,
      mobno: '1234512345'
   });
   
   document.write("<h2>Details of the Person: <br></h2>");
   //displaying the values by get() method
   document.write(person_details.get('Details2'));
}

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

import chainingcomputedproperties from './chainingcomputedproperties';

Où, chainingcomputedproperties est un nom du fichier spécifié comme "chainingcomputedproperties.js" et créé dans le dossier "app".

Maintenant, appelez les "chainingcomputedproperties" héritées en bas, avant l'exportation. Il exécute la fonction chainingcomputedproperties qui est créée dans le fichier chainingcomputedproperties.js -

chainingcomputedproperties();

Production

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