模型未传播到控制器



>我的 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);
}

虽然这也应该是默认行为,我认为你不需要明确定义它。

最新更新