EmberJS - Classes et instances

La classe est un modèle ou un modèle, qui a une collection de variables et de fonctions, où les instances sont liées à l'objet de cette classe. La création et l'extension de la classe Ember sur Ember.Object est la propriété principale du modèle objet Ember.

Définition des classes

Vous pouvez créer une nouvelle classe Ember en utilisant la méthode extend () d' Ember.Object -

const Demo = Ember.Object.extend ({
   //code here
});

Le code ci-dessus crée une nouvelle classe Ember appelée "Demo" qui hérite des propriétés des initialiseurs, des propriétés calculées, etc. Après avoir créé la classe, vous devez en créer une instance en utilisant la méthode create () comme indiqué ci-dessous -

const state = Demo.create();

À l'aide de l'instance "état" ci-dessus, accédez aux propriétés à l'aide de l'ensemble et obtenez les méthodes d'accès.

console.log(state.get('stateOn'));

Vous pouvez modifier la propriété "stateon" en utilisant la méthode set comme indiqué ci-dessous -

state.set('stateOn', true);

Initialisation de l'instance

Vous pouvez initialiser la nouvelle instance en appelant la méthode init () . Lors de la déclaration d'objets dans la classe, vous devez initialiser chaque instance avec la méthode init () .

Exemple

L'exemple suivant utilise les propriétés mentionnées ci-dessus et affiche un message d'alerte lorsqu'un objet Ember est initialisé -

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'));
}

Ouvrez maintenant le fichier app.js et ajoutez la ligne suivante en haut du fichier -

import classinstance from './classinstance';

Où, classinstance est un nom du fichier spécifié comme "classinstance.js" et créé dans le dossier "app". Maintenant, appelez l '"instance de classe" héritée en bas, avant l'exportation. Ceci exécute la fonction classinstance qui est créée dans le fichier classinstance.js -

classinstance();

Production

Exécutez le serveur de braises et vous recevrez la sortie suivante -