EmberJS - Object Model Chaining Computed Properties

A propriedade computada de encadeamento é usada para agregar com uma ou mais propriedades computadas predefinidas em um único property.

Sintaxe

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

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

Exemplo

O exemplo a seguir mostra como usar as propriedades computadas como valores para criar novas propriedades computadas -

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

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

import chainingcomputedproperties from './chainingcomputedproperties';

Onde, chainingcomputedproperties é o nome do arquivo especificado como "chainingcomputedproperties.js" e criado na pasta "app".

Agora, chame as "propriedades computacionais de encadeamento" herdadas na parte inferior, antes da exportação. Ele executa a função chainingcomputedproperties que é criada no arquivo chainingcomputedproperties.js -

chainingcomputedproperties();

Resultado

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