Meteor 流星无反应排序

Meteor 流星无反应排序,meteor,Meteor,我在我的页面上有一个评论列表,用户可以投票 我希望这些评论按投票数排序 然而,由于Comments集合是反应式的,一旦用户对一条评论进行了投票,评论的顺序就会发生反应性的变化,我不喜欢这种变化,因为这会让用户感到非常困惑(评论位于顶部,似乎消失了) 我仍然希望评论有点被动(当有人添加新评论或更新它时,它应该出现在页面上而不刷新)。 我不介意用户是否必须刷新页面才能看到按投票排序的评论。 如何通过非反应性投票的数量进行订单 这是模板: {{#each comments}} {{>comm

我在我的页面上有一个评论列表,用户可以投票

我希望这些评论按投票数排序

然而,由于Comments集合是反应式的,一旦用户对一条评论进行了投票,评论的顺序就会发生反应性的变化,我不喜欢这种变化,因为这会让用户感到非常困惑(评论位于顶部,似乎消失了)

我仍然希望评论有点被动(当有人添加新评论或更新它时,它应该出现在页面上而不刷新)。 我不介意用户是否必须刷新页面才能看到按投票排序的评论。 如何通过非反应性投票的数量进行订单

这是模板:

{{#each comments}}
  {{>comment}}
{{/each}}
和助手:

Template.post.helpers({
  comments: function() {
    return Comments.find({},{sort: {numberOfUpvotes: -1});
  }
}
我曾考虑过使用
Tracker.nonreactive()
,但我不确定这是如何工作的


谢谢

您能告诉我们您是如何订阅该系列的吗?在这种情况下,我的订阅方式是:

return Comments.find({}, {sort: {numberOfUpvotes: -1}, reactive: false});

你能告诉我们你是如何订阅这个收藏的吗?在这种情况下,我的订阅方式是:

return Comments.find({}, {sort: {numberOfUpvotes: -1}, reactive: false});

从用户体验的角度来看,答案很简单:动画!当他们向上投票时,他们看到帖子在链条上向上移动。我认为《发现流星》在本书的最后一章中有一个确切的例子,所以请阅读一下&它将引导您了解如何使用uihook(或者只是查看他们的github)


在刷新之前禁用反应性,虽然可能,但有点难看。如果您想这样做,只需执行
Comments.find({postId:'foo'},{reactive:false})在助手中

从用户体验的角度来看,答案很简单:动画!当他们向上投票时,他们看到帖子在链条上向上移动。我认为《发现流星》在本书的最后一章中有一个确切的例子,所以请阅读一下&它将引导您了解如何使用uihook(或者只是查看他们的github)


在刷新之前禁用反应性,虽然可能,但有点难看。如果您想这样做,只需执行
Comments.find({postId:'foo'},{reactive:false})在助手中

我可能会看动画,谢谢你的提示。我可能会看动画,谢谢你的提示。