Modelo de objeto que declara o observador

Você pode definir os observadores embutidos usando o método Ember.observer sem as extensões de protótipo.

A seguir está a sintaxe para definir os observadores embutidos usando o método Ember.observer .

App.ClassName = Ember.Object.extend ({
   ComputedPropertyName: Ember.observer('ComputedPropertyNames', function() {
      //do the stuff
   })
});

Fora das Definições de Classe

Adicione os observadores a um objeto fora de uma definição de classe usando um método addObserver () .

A sintaxe pode ser especificada conforme mostrado abaixo -

ClassName.addObserver('ComputedPropertyNames', function() {
   //do the stuff
});

Exemplo

O exemplo a seguir especifica os observadores embutidos usando o método Ember.observer -

import Ember from 'ember';

export default function() {
   var Person = Ember.Object.extend ({
      Name: null,
      
      //Defining the Details1 and Details2 computed property function
      Details1: Ember.computed('Name', function() {
         
         //get the Name value
         var Name = this.get('Name');
         //return the Name value
         return Name;
      }),
      Details2: Ember.observer('Details1', function() {})
   });
   
   //initializing the Person details
   var person = Person.create ({
      Name: 'Steve',
   });
   
   person.set('Name', 'Jhon');
   document.write('Name is Changed To: ' + person.get('Details1'));
}

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

import outsideclassdefinitions from './outsideclassdefinitions';

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

Em seguida, chame as "definições de classe externa" herdadas na parte inferior, antes da exportação. Ele executa a função outsideclassdefinitions, que é criada no arquivo outsideclassdefinitions.js -

outsideclassdefinitions();

Resultado

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