У меня есть модель крюк в моем объекте Маршрут, который выглядит следующим образом:модель не распространяющиеся на контроллер
model: function(params) {
// return an active filter for activities on given date
return this.store.filter('activity',function(activity){
var itemDate = new Date(activity.get('start_time'));
itemDate = moment(itemDate).format('YYYY-MM-DD');
return itemDate === params.on_date;
});
}
в маршруте currentModel
получает заполняется DS.FilteredRecordArray
со всеми соответствующими значениями, установленными, но по какой-то причине модель никогда передается контроллеру, поэтому мой шаблон {{#each}} {{/each}}
остается пустым.
Я создал хак, где я Добавляется следующим маршрута:
setupController: function(controller, model) {
controller.set('model',this.get('currentModel'));
}
Это на самом деле работает при загрузке контроллера в первый раз, но затем переходит в бесконечный цикл, когда вы transitionTo
к маршруту. Ах, хорошо, это был взлом в любом случае. Кто-нибудь знает, как я могу заставить это работать «Ужасный путь»?
Не могли бы вы выслать код, в котором вы установили 'currentModel'? – chopper
Я никогда не устанавливал 'currentModel' явно. Я просто предположил, что это часть темных искусств Эмбер. Я просто возвращаю объект из крюка 'model' в Route, и currentModel заселяется (с тем, что я ожидал бы в свойстве' model'. – ken
Я никогда не слышал об этом сам, может быть, это внутренняя вещь? в любом случае я не уверен, почему это вам понадобится, поскольку модель передается в функцию 'setupController' в качестве параметра. Таким образом, все, что вам нужно сделать, это' controller.set ('content', model); Я также добавлю, что в качестве ответа - дайте мне знать, если это сработает для вас. – chopper