代码之家  ›  专栏  ›  技术社区  ›  user3807691

延迟加载meteor订阅

  •  1
  • user3807691  · 技术社区  · 7 年前

    假设我在页面呈现时订阅10个文档,并在需要时订阅更多文档。基本上,我是向用户显示图像。所以当页面打开时,我想订阅前5个文档。现在,当用户在第三个文档上时,我想订阅下一个5。有关于如何继续的帮助吗??

    我可以使用mongodb的limit属性订阅前10个文档。我知道什么时候发射下一颗流星。订阅呼叫,但我应该如何提及它应该订阅接下来的五个文档

    1 回复  |  直到 7 年前
        1
  •  1
  •   Michel Floyd    7 年前

    一个简单的模式是使用 Session 变量或a reactiveVar 要跟踪要加载的项目数,请执行以下操作: Tracker.autorun() 更改时自动更新订阅。

    初始化(设置布局时):

    Session.set('nDocs',10);
    

    跟踪器:

    Tracker.autorun(() => {
      Meteor.subscribe('myPublication', Session.get('nDocs'));
    });
    

    事件处理程序(当用户查看您案例中的第三个文档时触发):

    someEvent(ev){
      Session.set('nDocs', Session.get('nDocs')+10);
    }