带缓存的无限/分页滚动
Posted
技术标签:
【中文标题】带缓存的无限/分页滚动【英文标题】:Infinite/paginated scrolling with caching 【发布时间】:2018-10-05 11:29:50 【问题描述】:我有一个需要显示长表的要求。它不必一次全部显示,所以 ajax 加载它是(加载前 50 个记录,然后每次用户滚动到/超过最后一行的第 10 行时再获取 50 行)。
但我不确定分页和无限滚动这两者中的哪一个更好。我希望用户在返回页面时能够跳到最后一个滚动到的点(肯定是通过后退按钮;如果我可以随时这样做,但是用户访问页面,那就更好了!)行也可见。同时,为了性能,我想将 ajax 调用的数量限制在尽可能低的水平。
有什么想法吗?
【问题讨论】:
【参考方案1】:-
要实现这样的场景,首先使用一个带有页码和记录数的api作为API调用中的请求参数
对于 Ex-'www.abc.com/v1/tableData/pageId=1&noOfRecords=50'
然后您将获得前 50 条记录。它的响应还应该为您提供调用第一个 api 后数据库中可用的记录总数。
向下滚动时,将 pageId 增加 +1
例如 - 'www.abc.com/v1/tableData/pageId=2&noOfRecords=50'
以同样的方式,您将增加 pageId,直到您检查到目前为止获得的总记录,应该等于总记录,您从 API 密钥获得。
这样你就可以实现它了。
谈到性能,这取决于您是使用分页还是滚动,这并不重要,因为您限制了要显示的记录数。
【讨论】:
以上是关于带缓存的无限/分页滚动的主要内容,如果未能解决你的问题,请参考以下文章