emberjs 中是否有可能 filterBy 没有值?

Is it possible filterBy no values in emberjs?

在我的控制器中,我有一个像

这样的过滤数组
filteredPosts: Ember.computed.filterBy('model', 'foo', 'bar')

filteredPosts 有没有可能根本不过滤任何东西。我需要这个以防用户不想应用过滤器而只想查看所有帖子。

那就不要用Ember.computed.filterBy。如果你不想过滤直接使用数组。或者实现类似通配符的东西构建你自己的计算 属性:

filteredPosts: Ember.computed('model', 'bar', {
    get() {
        const filter = this.get('bar');
        const model = this.get('model');
        return filter === '*' ? model : model.filterBy('foo', bar);
    }
})

基本上 Ember.computed.filterBy 只是几行代码的语法糖。如果要修改这段代码,自己写就可以了。