Пагинация метеорита публиковать не возвращает записи
Я определенно знаю, что с этим фрагментом что-то не так, но не могу понять, как это сделать. Я хочу разбить страницу на страницы, где отображаются студенты. Если я скажу прямо так return SchoolStudents.find();
Это работает отлично, возвращая всех студентов, но это побеждает главную цель нумерации страниц. Я либо не уверен, где проблема, либо в функции публикации или вспомогательной функции. Чего я хочу добиться, так это чтобы записи в SchoolStudents Colleciton были разбиты на страницы для отображения 2 записей на странице.
Это автозапуск
Session.setDefault('skip', 0);
Template.view.onCreated(function () {
Session.setPersistent('ReceivedSlug', FlowRouter.getParam('myslug'));
this.autorun(function () {
Meteor.subscribe('SchoolStudents', Session.get('skip'));
});
});
это вспомогательный метод
students(){
let myslug = trimInput(Session.get('ReceivedSlug'));
if (myslug) {
let mySchoolDoc = SchoolDb.findOne({slug: myslug});
if (mySchoolDoc) {
let arrayModuleSchool = StudentSchool.find({schoolId: mySchoolDoc._id});
if (arrayModuleSchool) {
var arrayStudentIds = [];
arrayModuleSchool.forEach(function(studentSchool){
arrayStudentIds.push(studentSchool.studentId);
});
let subReadiness = SchoolStudents.find({_id: {$in: arrayStudentIds}}).fetch();
if (subReadiness) {
return subReadiness;
}
}
}
}
}
Это метод публикации
Meteor.publish('SchoolStudents', function (skipCount) {
check(skipCount, Number);
user = Meteor.users.findOne({_id:this.userId})
if(user) {
if(user.emails[0].verified) {
return SchoolStudents.find({userId: this.userId}, {limit: 2, skip: skipCount});
} else {
throw new Meteor.Error('Not authorized');
return false;
}
}
});
Шаблон Blaze
<section class="tab-section" id="content4">
{{#each student in students}}
<div class="row" style="margin-top: -20px;">
<!-- Begin Listing: 609 W GRAVERS LN-->
<div class="brdr bgc-fff pad-10 box-shad btm-mrg-20 property-listing card-1">
<div class="media">
<div class="media-body fnt-smaller">
<a href="#" target="_parent"></a>
<h4 class="media-heading"><a href="/student/{{student.slug}}" target="_parent">{{student.firstname}} {{student.lastname}}</a></h4>
<p class="hidden-xs" style="margin-bottom: 5px; margin-top: -10px;">{{trimString student.useremail 0 110}}</p><span class="fnt-smaller fnt-lighter fnt-arial">{{course.createdAt}}</span>
</div>
</div>
</div><!-- End Listing-->
</div>
{{/each}}
<ul class="pager">
<li class="studentprevious"><a href="">Previous</a> </li>
<li class="studentnext"><a href="">Next</a> </li>
</ul>
</section>
событие нумерации страниц
'click .studentprevious': function () {
if (Session.get('skip') > 0 ) {
Session.set('skip', Session.get('skip') - 2 );
}
},
'click .studentnext': function () {
Session.set('skip', Session.get('skip') + 2 );
}