У меня есть демо-контроллер:Почему расчетные свойства ember выполняются только один раз в инспекторе ember?
import Ember from 'ember';
export default Ember.Controller.extend({
firstName: 'Bob',
lastName: 'Smith',
emailAddress: '[email protected]',
fullName: Ember.computed('firstName', 'lastName', function() {
console.log('executed!');
return `${this.get('firstName')} ${this.get('lastName')}`;
}),
actualEmailAddress: Ember.computed('emailAddress', function() {
console.log('actualEmailAddress function is called: ', this.get('emailAddress'));
})
});
Когда я бегу приложение на локальном хосте в браузере, я открываю уголек инспектор и запуск:
$E.get('actualEmailAddress')
Это возвращает:
actualEmailAddress function is called: [email protected]
Но когда я запускаю его во второй раз, я просто получаю undefined
То же самое, когда я бегу $E.get('fullName')
возвращает
executed!
"Bob Smith"
Но потом, когда я запускаю его снова возвращается только Bob Smith
, не console.log
Почему это происходит?
Спасибо!