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 -