Я изучаю, как использовать обещания Ember с асинхронными маршрутами и немного спотыкаться здесь. Если я пишу свой маршрут так:Возвращающийся словарь обещаний для асинхронного маршрута EmberJS
App.ActivitiesRoute = Ember.Route.extend({
model: function() {
return getClient().getActivities()
}
});
Где getActivities()
возвращает Ember.RSVP.Promise
типа, я могу использовать в шаблоне:
{{#each activity in model}}
Однако я не хотел бы иметь всю мою базовую модель прокормиться из единственный атрибут. Когда я пытаюсь это:
App.ActivitiesRoute = Ember.Route.extend({
model: function() {
return {
activities: getClient().getActivities()
}
}
});
И изменить шаблон:
{{#each activity in model.activities}}
Я получаю сообщение об ошибке:
"Uncaught Error: Assertion Failed: The value that #each loops over must be an Array. You passed {_id: 82, _label: undefined, _state: undefined, _result: undefined, _subscribers: }"
И я не знаю, как вернуть имени коллекция Promises, доступ к которой можно получить индивидуально в моем шаблоне.
Спасибо - функция 'hash' была именно тем, что я искал. –