延迟加载带过滤的项目

Aba*_*aba 5 javascript search backbone.js infinite-scroll

我正在使用Backbone.js在页面上一次加载20个项目,当你向下滚动到底部时获取更多项目,直到没有剩余的项目从服务器获取.

同时,我想要一个输入字段,当您键入名称时,它会过滤匹配的项目.

问题是,如果您还没有滚动到底部并获取完整集,则输入过滤器将仅匹配页面上当前的项目.

将UI过滤与延迟加载的项目相结合,在技术上和视觉上最好的解决方案是什么?

编辑:这里的真实情况是加载你的所有Facebook朋友,这可能是非常慢,并与其他api混搭.我不想一次加载所有因为经验延迟.

Mar*_*ark 1

当用户搜索时,为什么不使用包含过滤器的提取来重置集合?

Collection.fetch({ term : $("#search").val()})

如果您为此集合设置后端 API 端点以按术语参数确定结果范围,则您的集合将仅包含来自服务器的与用户输入匹配的结果。

您还可以将初始提取限制为用户输入的前 3 个字符,然后在用户继续输入时执行其余的过滤客户端操作。也就是说,如果您没有通过第一次调用来限制搜索结果服务器端。