Modelo de objeto que declara o observador
Você pode definir os observadores embutidos usando o método Ember.observer sem as extensões de protótipo.
A seguir está a sintaxe para definir os observadores embutidos usando o método Ember.observer .
App.ClassName = Ember.Object.extend ({
ComputedPropertyName: Ember.observer('ComputedPropertyNames', function() {
//do the stuff
})
});
Fora das Definições de Classe
Adicione os observadores a um objeto fora de uma definição de classe usando um método addObserver () .
A sintaxe pode ser especificada conforme mostrado abaixo -
ClassName.addObserver('ComputedPropertyNames', function() {
//do the stuff
});
Exemplo
O exemplo a seguir especifica os observadores embutidos usando o método 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'));
}
Agora abra o arquivo app.js e adicione a seguinte linha no topo do arquivo -
import outsideclassdefinitions from './outsideclassdefinitions';
Onde, outsideclassdefinitions é o nome do arquivo especificado como "outsideclassdefinitions.js" e criado na pasta "app".
Em seguida, chame as "definições de classe externa" herdadas na parte inferior, antes da exportação. Ele executa a função outsideclassdefinitions, que é criada no arquivo outsideclassdefinitions.js -
outsideclassdefinitions();
Resultado
Execute o servidor ember e você receberá a seguinte saída -