【问题标题】:How to stop a page from auto-updating (Meteor)?如何阻止页面自动更新(流星)?
【发布时间】:2015-04-09 13:30:37
【问题描述】:

我有一个 Meteor 应用程序。允许用户动态地将项目添加到列表中。项目的添加首先直接在 DOM 中完成,然后一旦用户完成添加项目,与该新项目相关的文档将被插入到 MongoDB 中。 如何防止页面在当前用户添加新列表项时自动拉入新列表项(例如,可能已由其他用户添加)?有没有办法让应用程序停止侦听添加到 MongoDB 的任何新文档,直到应用程序开始告诉它重新启动(请注意,仅应在页面的指定区域(即特定 Meteor)阻止自动更新模板)?

【问题讨论】:

  • 听起来很奇怪。你能举一些例子为什么你想停止反应吗?你的用例是什么?也许还有其他解决方案可以实现您想要的效果......
  • 因为(我对 Meteor 的了解有限)在我的脑海中,如果我将一个项目添加到列表并且正在编辑该项目,我不希望其他项目突然出现并在用户视线所在的位置向下/向上移动。本质上,当用户正在查看/编辑它时,我不希望对整个列表进行重新活动,但是页面的其他部分可能需要保留重新活动,例如当前用户正在查看列表时其他用户添加到列表中的新列表项的计数。

标签: mongodb meteor


【解决方案1】:

注意:我不确定这是否可行,我只是猜测,我没有尝试过这段代码

对于游标,有一个名为 reactive 的选项字段,如果您不想从该游标更新,可以使用它

Posts.find({},{reactive : false});

文档http://docs.meteor.com/#/full/find

尝试使用会话变量更改reactive 属性,

当您将块添加到 div 时,将会话变量设置为 false,因此它不会监听更改,在将块添加到 DOM 完成后将其设置回 true

【讨论】:

    猜你喜欢
    • 2012-08-27
    • 2017-09-15
    • 2017-08-02
    • 2015-08-13
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 2014-05-31
    相关资源
    最近更新 更多