>我的 Route 对象中有一个模型钩子,如下所示:
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
路由时进入无限循环。啊,好吧,无论如何,这是一个黑客。有谁知道我如何让这个工作"余烬方式"?
您需要
使用模型(filter
函数的结果)填充控制器的内容,如下所示:
setupController: function(controller, model) {
controller.set('content', model);
}
虽然这也应该是默认行为,我认为你不需要明确定义它。