EmberJS - Propiedades calculadas de encadenamiento de modelos de objetos

La propiedad calculada de encadenamiento se utiliza para agregar con una o más propiedades calculadas predefinidas en una sola property.

Sintaxis

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

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

Ejemplo

El siguiente ejemplo muestra cómo utilizar las propiedades calculadas como valores para crear nuevas propiedades calculadas:

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'));
}

Ahora abra el archivo app.js y agregue la siguiente línea en la parte superior del archivo:

import chainingcomputedproperties from './chainingcomputedproperties';

Dónde, chainingcomputedproperties es un nombre del archivo especificado como "chainingcomputedproperties.js" y creado en la carpeta "app".

Ahora, llame al heredado "chainingcomputedproperties" en la parte inferior, antes de la exportación. Ejecuta la función chainingcomputedproperties que se crea en el archivo chainingcomputedproperties.js -

chainingcomputedproperties();

Salida

Ejecute el servidor ember y recibirá el siguiente resultado: