Meteor js自定义分页
我需要支持。我在YouTube教程之后写了一个分页,除了再次返回时,它工作得很好。它只有两个按钮,Meteor js自定义分页,meteor,pagination,meteor-blaze,meteor-collections,Meteor,Pagination,Meteor Blaze,Meteor Collections,我需要支持。我在YouTube教程之后写了一个分页,除了再次返回时,它工作得很好。它只有两个按钮,previous和next,当单击next按钮时,它工作正常,但previous按钮只向后移动一次。假设集合中有20条记录分页,一次显示5条,下一个按钮可以转到第四页的末尾,但上一个按钮不会后退一步。请问我该怎么做才能有分页经验?只要用户单击,“上一页”按钮就可以导航到最后一页 分页按钮的事件: Template.myviews.events({ “click.previous”:函数(){ if(
previous
和next
,当单击next按钮时,它工作正常,但previous按钮只向后移动一次。假设集合中有20条记录分页,一次显示5条,下一个按钮可以转到第四页的末尾,但上一个按钮不会后退一步。请问我该怎么做才能有分页经验?只要用户单击,“上一页”按钮就可以导航到最后一页
分页按钮的事件:
Template.myviews.events({
“click.previous”:函数(){
if(Session.get('skip')>5){
Session.set('skip',Session.get('skip')-5);
}
},
“单击.下一步”:函数(){
Session.set('skip',Session.get('skip')+5);
}
});
出版物:
Meteor.publish('userSchools',函数(skipCount){
检查(skipCount,编号);
user=Meteor.users.findOne({u-id:this.userId});
如果(用户){
如果(用户电子邮件[0]。已验证){
返回SchoolDb.find({userId:Meteor.userId()},{limit:5,skip:skipCount});
}否则{
抛出新流星。错误(“未授权”);
返回false;
}
}
});
订阅:
Session.setDefault('skip',0);
Tracker.autorun(函数(){
Meteor.subscribe('userSchools',Session.get('skip');
});
火焰分页按钮:
模板帮助程序:
RenderSchool:function(){
if(Meteor.userId()){
如果(Meteor.user().emails[0]。已验证){
返回SchoolDb.find({userId:Meteor.userId()}).fetch().reverse();
}否则{
FlowRouter.go('/');
Bert.alert('请验证您的帐户以继续','成功','右上角咆哮');
}
}
}
您总共有6个文档,每页2个文档,总共3页
您的如果上一个按钮单击处理程序中的条件阻止您进入第一页:
if(Session.get('skip')>2/*测试*){
...
}
对于第二页,skip
将等于2
,在下一次单击时,该条件将为false
,防止返回
当你在第三页的时候,你只能在第二页,给人一种印象,按钮只能工作一次
应该是这样的:
if(Session.get('skip')>0){
...
}
您能同时显示模板和助手吗?谢谢,Styx,我已经更新了代码,添加了助手。您的收藏中到底有多少物品?我有6个文档。不过,在我的测试中,我设置了限制:2,所以我应该有3页。@kehinde:检查一下,我使用了反应变量而不是会话变量。谢谢Styx。我非常感谢你的专业贡献。在你的回答中,我只添加了这个会话.get('skip')>0 | |会话.get('skip')>2
。它现在工作得很好。@kehinde这个添加没有意义。如果skip>0
,则条件的第二部分甚至不会计算。是。真正地我又回到你的建议上来了。