Modèle d'objet déclarant l'observateur
Vous pouvez définir les observateurs en ligne à l'aide de la méthode Ember.observer sans les extensions de prototype.
Voici la syntaxe pour définir les observateurs en ligne à l'aide de la méthode Ember.observer .
App.ClassName = Ember.Object.extend ({
ComputedPropertyName: Ember.observer('ComputedPropertyNames', function() {
//do the stuff
})
});
En dehors des définitions de classe
Ajoutez les observateurs à un objet en dehors d'une définition de classe à l'aide d'une méthode addObserver () .
La syntaxe peut être spécifiée comme indiqué ci-dessous -
ClassName.addObserver('ComputedPropertyNames', function() {
//do the stuff
});
Exemple
L'exemple suivant spécifie les observateurs en ligne à l'aide de la méthode 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'));
}
Ouvrez maintenant le fichier app.js et ajoutez la ligne suivante en haut du fichier -
import outsideclassdefinitions from './outsideclassdefinitions';
Où, outsideclassdefinitions est un nom du fichier spécifié comme "outsideclassdefinitions.js" et créé dans le dossier "app".
Appelez ensuite les "outsideclassdefinitions" héritées en bas, avant l'exportation. Il exécute la fonction outsideclassdefinitions qui est créée dans le fichier outsideclassdefinitions.js -
outsideclassdefinitions();
Production
Exécutez le serveur de braises et vous recevrez la sortie suivante -