Modelo de objetos que declara al observador

Puede definir los observadores en línea utilizando el método Ember.observer sin las extensiones del prototipo.

A continuación se muestra la sintaxis para definir los observadores en línea utilizando el método Ember.observer .

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

Fuera de las definiciones de clase

Agregue los observadores a un objeto fuera de la definición de una clase utilizando un método addObserver () .

La sintaxis se puede especificar como se muestra a continuación:

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

Ejemplo

El siguiente ejemplo especifica los observadores en línea mediante el 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'));
}

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

import outsideclassdefinitions from './outsideclassdefinitions';

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

A continuación, llame a las "definiciones de clase externa" heredadas en la parte inferior, antes de la exportación. Ejecuta la función outsideclassdefinitions que se crea en el archivo outsideclassdefinitions.js -

outsideclassdefinitions();

Salida

Ejecute el servidor ember y recibirá el siguiente resultado: