Je rencontre des problèmes avec une propriété calculée dans Ember.Impossible d'obtenir la valeur du tableau à l'intérieur de la propriété calculée
L'élément problématique est timeZones
, qui est défini comme suit:
import Ember from 'ember';
export default Ember.Route.extend({
model(params) {
return Ember.RSVP.hash({
account: this.store.findRecord('account', params.id),
timeZones: this.store.findAll('time-zone'), <------------ timeZones
users: this.store.query('user', { by_account_id: params.id })
});
},
setupController(controller, model) {
this._super(controller, model.account);
controller.set('users', model.users);
controller.set('timeZones', model.timeZones);
}
});
J'ai quelque chose appelé selectedTimeZone
qui ressemble à ceci:
selectedTimeZone: Ember.computed('location.timezone', 'timeZones', function() {
console.log(this.get('timeZones'));
const timeZoneName = this.get('location.timezone');
var result;
this.get('timeZones').forEach(function(timeZone) {
if (timeZone.name === timeZoneName) {
console.log('yes'); // <------------------- never gets here
result = timeZone;
}
});
return result;
}),
Le problème est que this.get('timeZones')
est pas vraiment accessible à l'intérieur du composant. timeZones
fait très bien le modèle. Je remplis une liste déroulante avec timeZones
dès maintenant. Mais quand je l'ai, ça passe comme Class
.
Comment puis-je mettre la main sur timeZones
à l'intérieur de cette propriété calculée?