Ember 控制器中的防火过滤器数据

Ember fire filter data in controller

我是 ember 的新手,我在 Ember 中创建了一个任务管理器应用程序。我有一个任务模型如下:

import DS from 'ember-data';

export default DS.Model.extend({
    title: DS.attr('string'),
    location: DS.attr('string'),
    date: DS.attr('date'),
    archive: DS.attr('boolean'),
});

我还可以在任务列表页面中显示该模型的所有任务。但是,我目前遇到的问题是仅过滤存档不等于 true 的任务。

在我的任务列表路线中,我有这个来完成我的任务

model: function () {    
        return this.store.findAll('task');   
    }

但是我需要它来过滤存档等于 false 的所有任务。我确实将其添加到此处或添加到我的控制器中。

已更新

我已将此添加到我的控制器中:

filteredModel: Ember.computed('model', function(){
        let model = this.get('model');

        return model.filter(function(item){
            return item.data.archive == false;
        });

    }),

这种工作,所以它显示过滤后的列表,但是当我向列表中添加新项目时,它不会使用新项目更新列表。

在控制器中引入计算的 属性,它将 return 过滤的任务列表,

notArchivedTask: Ember.computed.filterBy('model','archive',false)