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: