Emberで計算されたプロパティに問題があります。計算されたプロパティ内で配列の値を取得できません
問題のある項目は次のように設定されているtimeZones
、次のとおりです。
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);
}
});
その後、私はこのようになりますselectedTimeZone
と呼ばれるものがあります。
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;
}),
を問題はthis.get('timeZones')
が実際にはないということですコンポーネントの内部でアクセス可能です。 timeZones
はそれをちょうど良いテンプレートにします。私は今すぐtimeZones
でドロップダウンリストに値を設定しています。しかし、私がconsole.log
となったときには、それはちょうどClass
となります。
timeZones
私はこの計算されたプロパティ内で私の手を得ることができますか?