假设我在呈现页面时订阅了10个文档,并在需要时订阅了更多文档。基本上我正在向用户展示图像。因此,当页面打开时,我想订阅前5个文档。现在,当用户在第三个文档上时,我想订阅下一个5.有关如何继续的任何帮助吗?
我可以使用mongodb的limit属性订阅前10个文档。我知道什么时候开始下一个meteor.subscribe调用,但我应该怎么说它应该订阅接下来的五个文件
答案 0 :(得分:1)
执行此操作的简单模式是使用Session变量或reactiveVar来跟踪要加载的项目数,然后Tracker.autorun()在更改时自动更新订阅
初始化(当您设置布局时):
const oldInvitation = await Invitation.findOne({ email, companyCode });
if (oldInvitation && new Date() < oldInvitation.auth.expires) {
responseObj.email ='User has already been invited to join this company';
continue;
}
if (oldInvitation && new Date() > oldInvitation.auth.expires) {
const clearInvitation = await Invitation.remove({email});
}
const invitation = new Invitation({
email,
company,
companyCode,
inviter,
invitedRole
});
try { const newInvitation = await invitation.save();}
catch (e) {
console.log('error saving invitation ', e.message);
responseObj.email = e.message;
continue;
}
跟踪器:
Session.set('nDocs',10);
事件处理程序(当用户在您的情况下查看第3个文档时触发):
Tracker.autorun(() => {
Meteor.subscribe('myPublication', Session.get('nDocs'));
});