EmberJS - Propriedades Computadas

Uma propriedade computada declara funções como propriedades e Ember.js chama automaticamente as propriedades computadas quando necessário e combina uma ou mais propriedades em uma variável.

A tabela a seguir lista as propriedades da propriedade computada -

S.No. Propriedades e descrição
1 Encadeando Propriedades Computadas

A propriedade computada encadeada é usada para agregar uma ou mais propriedades computadas predefinidas.

2 Atualização Dinâmica

Atualiza dinamicamente a propriedade computada quando eles são chamados.

3 Configurando Propriedades Computadas

Ajuda a configurar as propriedades calculadas usando os métodos setter e getter.

Exemplo

O exemplo a seguir adiciona a propriedade computada a Ember.object e mostra como exibir os dados -

import Ember from 'ember';

export default function() {
   var Car = Ember.Object.extend ({
      
      //The values for below variables will be supplied by 'create' method
      CarName: null,
      CarModel: null,
      carDetails: Ember.computed('CarName', 'CarModel', function() {

         //returns values to the computed property function 'carDetails'
         return ' Car Name: ' + this.get('CarName') + '<br>' + 
            ' Car Model: ' + this.get('CarModel');
      })
   });

   var mycar = Car.create ({
      //initializing the values of Car variables
      CarName: "Alto",
      CarModel: "800",
   });
   
   //Displaying the information of the car
   document.write("<h2>Details of the car: <br></h2>");
   document.write(mycar.get('carDetails'));
}

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

import computedproperties from './computedproperties';

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

computedproperties();

Resultado

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