Ember.js Método de registro de aplicación()

Ember.js es un marco web de JavaScript que utiliza un patrón de servicio de componentes. Es de código abierto. La clase de aplicaciones Ember Js proporciona una instalación registrada que vincula objetos a las dependencias de nivel de aplicación. Luego, el usuario puede usar las dependencias en otras secciones y el enlace lo maneja Ember.

Sintaxis:

application.register('factory:name',object,options)

Atributos: La función de registro tiene tres atributos que se utilizan para definir su proceso de ejecución:

  1. factory:name: la fábrica define el marco de la fábrica que se va a utilizar, y el nombre especifica el nombre de la fábrica.
  2. objeto: especifica el objeto que se vinculará a la ‘fábrica: nombre’ dada
  3. options: estos son atributos opcionales, que generalmente tienen tipos singleton y non-singleton. Se creará una instancia de un objeto singleton una vez, y cada vez que se busque se devolverá la misma instancia. Los tipos que no son Singleton tienen una nueva instancia del objeto devuelto cada vez.

Crear una aplicación Ember: ahora necesitamos crear una aplicación Ember. Vaya al directorio donde desea guardar la aplicación y ejecute el comando:

ember create my-app

Crear aplicación Ember

Ejemplo 1: Primero usaremos objetos de tipo singleton y por defecto, si no especificamos opciones, se usan objetos singleton.

Ahora ejecuta el siguiente comando:

ember generate instance logger

Ahora agregue el siguiente código en el archivo logger.js: Aquí primero estamos importando el ‘Emberobject’ que usaremos para ampliar la funcionalidad de nuestro registrador de objetos declarado personalizado. Lo siguiente es la función de inicialización que describe qué pasos realizar durante la inicialización de este objeto. Tenemos la función application.register(), que registra los objetos. La tercera y última parte es establecer propiedades predeterminadas como el nombre y la función de inicialización.

Javascript

import EmberObject from '@ember/object';
  
export function initialize(application) {
  let Logger = EmberObject.extend({
    log(m) {
      console.log(m);
    },
  });
  
  application.register('logger:main', Logger);
}
  
export default {
  name: 'logger',
  initialize: initialize,
};

Ejecute el comando: 

 ember generate instance-initializer instancelogger

Ahora copie el siguiente código en el archivo instancelogger.js: aquí estamos definiendo lo que este inicializador de instancia realizará cuando se cree una instancia, el método de búsqueda se usa para obtener una referencia al registrador de inicializador declarado anteriormente y usarlo. Los dos objetos registradores diferentes se utilizan para comparar si la misma referencia es igual o diferente.

Javascript

export function initialize(applicationInstance) {
  let logger = applicationInstance.lookup('logger:main');
  logger.log('This is log from Instance Logger1!');
  let logger2 = applicationInstance.lookup('logger:main');
  logger2.log('This is log from Instance Logger2!');
  
  // To check returned instance is equal or not
  logger.log(logger ==logger2);
}
  
export default {
  initialize
};

Ejecute el comando: 

 ember server 

Salida: Vaya a localhost:4200 y verifique el registro de la consola. Como notará, la salida en el registro devolverá ‘verdadero’, lo que significa que logger y logger2 son objetos en las mismas instancias.

Aplicación Ember.registro Salida 1

Ejemplo 2: Ahora haremos que nuestro registro no sea singleton. Para ello añadiremos {singleton : false} en los atributos de la opción en la función de registro. Por lo tanto, actualice logger.js con el siguiente código: Aquí, primero estamos importando el ‘Emberobject’ que usaremos para ampliar la funcionalidad de nuestro registrador de objetos declarado personalizado. Lo siguiente es la función de inicialización que describe qué pasos realizar durante la inicialización de este objeto. Tenemos la función application.register(), que registra los objetos en los que establecemos la propiedad singleton como falsa. La tercera y última parte es establecer propiedades predeterminadas como el nombre y la función de inicialización.

Javascript

import EmberObject from '@ember/object';
  
export function initialize(application) {
  let Logger = EmberObject.extend({
    log(m) {
      console.log(m);
    },
  });
  
  application.register('logger:main', Logger,{singleton:false});
}
  
export default {
  name: 'logger',
  initialize: initialize,
};

El archivo instancelogger.js sigue siendo el mismo.

Salida: vaya a localhost: 4200 y actualice la página o vuelva a cargar.

Aplicación Ember.registro Salida 2

Publicación traducida automáticamente

Artículo escrito por sunnydrall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *