【发布时间】:2017-02-09 08:55:37
【问题描述】:
我有一个评论列表。这些 cmets 有一个名为“vote”的属性(用户可以对 cmets 进行投票),它们最初按投票排序(降序,onRender)。
现在,当用户投票时,cmets 的顺序会响应更新以反映新投票。
是否有可能以某种方式保持初始排序顺序不变?我想避免将用户与 cmets 在页面上时自动交换顺序混淆。
有什么好的方法可以解决这个问题吗?我在渲染页面时可能会考虑一次性排序,或者以某种方式保存订单,然后在集合被响应式刷新时重新应用它。
【问题讨论】:
-
这是一个有趣的问题。假设您找到了一种方法,现在出现了一个新的评论。它在列表中的哪个位置?
-
我会做一个方法调用来拉入按您想要的方式排序的初始集合。然后我还有一个订阅,检查数据库中是否有更新,并通知用户它们类似于 twitter 的“2 个新 cmets”,并让该 UI 元素在点击时再次调用流星方法。
-
@zim 要么在列表的最后,要么根本不在。如果我考虑一下,我需要保持反应性的唯一原因是因为我希望用户的新投票反映在页面上。他不需要立即查看新的或编辑的 cmets 或其他用户的新投票。因此,对我来说,一个简单的解决方案可能是通过简单地增加客户端的投票计数来“伪造它”。用户几乎不会注意到差异。但是,为了知识起见,我仍然想知道提议的方案(列表末尾有新的 cmets)是否可行。
标签: sorting meteor meteor-collection2