假设我正在根据searchTerm过滤25,000首歌曲的列表:
export default Ember.Controller.extend({ (...)
matchingSongs: Ember.computed('searchTerm', function() {
return this.get('model.songs').filter(function(song) {
return song.get('title').indexOf(searchTerm) !== -1;
});
})
})
这感觉有点迟钝。这是在Ember 2.0中使用它的正确方法吗?或者我应该将搜索委托给服务器吗?
答案 0 :(得分:3)
您应该考虑用户是否真的需要这样大的数据集才能在本地存储它。首先,你让他们从你的API下载一个巨大的有效载荷(考虑移动/低速连接),然后你将数据库的大量数据集暴露给外部世界。
在考虑25k歌曲时,可能会将其委托给服务器并没有明显加快速度。但是25k已经很多了。根据本地机器,过滤速度可能会有很大差异。
我肯定会将它委托给服务器。但是,如果你不能,那么你的解决方案就是好的。