延迟加载流星订阅
lazy loading meteor subscription
假设我在呈现页面时订阅了 10 个文档,并在需要时订阅了更多文档。基本上我是在向用户展示图像。所以当页面打开时,我想订阅前 5 个文档。现在,当用户阅读第 3 个文档时,我想订阅下 5 个文档。关于如何进行的任何帮助??
我可以使用 mongodb 的限制 属性 订阅前 10 个文档。我知道什么时候触发下一个 meteor.subscribe 调用,但我应该如何提及它应该订阅接下来的五个文档
执行此操作的一个简单模式是使用 Session variable or a reactiveVar to track how many items you want to load then have a Tracker.autorun() 在更改时自动更新订阅。
初始化(设置布局时):
Session.set('nDocs',10);
追踪器:
Tracker.autorun(() => {
Meteor.subscribe('myPublication', Session.get('nDocs'));
});
事件处理程序(当用户查看您案例中的第 3 个文档时触发):
someEvent(ev){
Session.set('nDocs', Session.get('nDocs')+10);
}
假设我在呈现页面时订阅了 10 个文档,并在需要时订阅了更多文档。基本上我是在向用户展示图像。所以当页面打开时,我想订阅前 5 个文档。现在,当用户阅读第 3 个文档时,我想订阅下 5 个文档。关于如何进行的任何帮助??
我可以使用 mongodb 的限制 属性 订阅前 10 个文档。我知道什么时候触发下一个 meteor.subscribe 调用,但我应该如何提及它应该订阅接下来的五个文档
执行此操作的一个简单模式是使用 Session variable or a reactiveVar to track how many items you want to load then have a Tracker.autorun() 在更改时自动更新订阅。
初始化(设置布局时):
Session.set('nDocs',10);
追踪器:
Tracker.autorun(() => {
Meteor.subscribe('myPublication', Session.get('nDocs'));
});
事件处理程序(当用户查看您案例中的第 3 个文档时触发):
someEvent(ev){
Session.set('nDocs', Session.get('nDocs')+10);
}