有一个集合Comments
。目前对特定的评论Content
都发布给客户。
没有分页,我可以成功地将它们呈现在我的模板中,插入新评论并享受反应。
我现在可以将所有评论发送给客户端,但我想实现全客户端分页以在视觉上简化页面,就像 FB 一样。
野兔是规则:
- 评论始终按创建时间戳 ASC 排序(列表底部较新)
- 我需要显示集合中的记录总数 (T)
- 我需要显示当前显示的评论总数(C)
- 如果有更多评论 (C < T) 我需要显示“查看更多”链接
- 最初我显示 5 条最新评论(如果少于 5 条,则显示全部)
- 新评论(从服务器推送)立即显示在列表末尾
- 当我单击“查看更多”链接时,列表开头会显示多达 10 条额外评论(当前不可见的最新评论 - 所有评论都比已经显示的评论更旧)
如此有效地它可能是这样的:
- 有
minTime
变量 - 最初将其设置为第 5 条最新评论的时间戳
- 当我单击链接时,将其设置为比当前值更早的第 10 条最新评论的时间戳
- 模板呈现所有不早于此值的评论
- 在某些时候计算值 C 和 T 并保存它们
我试图用一堆Session
变量来解决这个问题,但没有成功——我认为在某些时候从模板中获取和设置这些变量会导致递归或什么?另一个问题是我不能可靠地知道我应该第一次计算的“初始”时刻minTime
——第一次创建或呈现模板时,注释可能仍然没有同步。
那么,问题是:满足我的要求的正确方法是什么?