EmberJS: clases e instancias
La clase es una plantilla o diseño, que tiene una colección de variables y funciones, donde las instancias están relacionadas con el objeto de esa clase. Crear y extender la clase Ember en Ember.Object es la propiedad principal del modelo de objetos Ember.
Definición de clases
Puede crear una nueva clase Ember utilizando el método extend () de Ember.Object -
const Demo = Ember.Object.extend ({
//code here
});
El código anterior crea una nueva clase Ember llamada "Demo" que hereda las propiedades de los inicializadores, propiedades calculadas, etc. Después de crear la clase, debe crear una instancia de la misma utilizando el método create () como se muestra a continuación:
const state = Demo.create();
Utilizando el "estado" de la instancia anterior, acceda a las propiedades utilizando los métodos set y get accessor.
console.log(state.get('stateOn'));
Puede cambiar la propiedad "stateon" utilizando el método set como se muestra a continuación:
state.set('stateOn', true);
Inicializando instancia
Puede inicializar la nueva instancia invocando el método init () . Al declarar objetos en la clase, debe inicializar cada instancia con el método init () .
Ejemplo
El siguiente ejemplo utiliza las propiedades mencionadas anteriormente y muestra un mensaje de alerta cuando se inicializa un objeto Ember:
import Ember from 'ember'; //import ember module
export default function() {
//new ember object
const Demo = Ember.Object.extend ({
init() {
alert('The default property of stateOn is : ' + this.get('stateOn'));
},
stateOn: false
});
const state = Demo.create(); //new instance from object with create() method
state.set('stateOn', true);
console.log(state.get('stateOn'));
}
Ahora abra el archivo app.js y agregue la siguiente línea en la parte superior del archivo:
import classinstance from './classinstance';
Donde, classinstance es un nombre del archivo especificado como "classinstance.js" y creado en la carpeta "app". Ahora, llame a la "instancia de clase" heredada en la parte inferior, antes de la exportación. Esto ejecuta la función classinstance que se crea en el archivo classinstance.js -
classinstance();
Salida
Ejecute el servidor ember y recibirá el siguiente resultado: