EmberJS - Classes et instances
Il ne s'agit que de mettre à jour l'implémentation de la classe sans la redéfinir et de rouvrir la classe en y spécifiant de nouvelles propriétés. Ceci est possible en utilisant les méthodes suivantes -
reopen()- Il ajoute des propriétés et des méthodes aux instances .
reopenClass()- Il ajoute des propriétés et des méthodes aux classes. .
Exemple
L'exemple suivant utilise les méthodes mentionnées ci-dessus et spécifie les nouvelles propriétés ou méthodes qu'il contient -
import Ember from 'ember';
export default function() {
//reopen() method for instances
var Person = Ember.Object.extend ({
firstName: null,
lastName: null,
});
//adding new variable to the Person class
Person.reopen ({
middleName: 'Smith',
});
document.write('Middle Name: '+Person.create().get('middleName'));
document.write("<br>");
//reopenClass() method for classes
Person.reopenClass ({
//creating new function for class Person
openClass: function() {
return Person.create({isMan: true});
}
});
document.write('isMan: '+Person.openClass().get('isMan'));
}
Ouvrez maintenant le fichier app.js et ajoutez la ligne suivante en haut du fichier -
import reopenclass from './reopenclass';
Où, reopenclass est le nom du fichier spécifié comme "reopenclass.js" et créé dans le dossier "app".
Appelez ensuite la "reopenclass" héritée en bas, avant l'exportation. Il exécute la fonction reopenclass qui est créée dans le fichier reopenclass.js -
reopenclass();
Production
Exécutez le serveur de braises et vous recevrez la sortie suivante -