Пагинация метеорита публиковать не возвращает записи

Я определенно знаю, что с этим фрагментом что-то не так, но не могу понять, как это сделать. Я хочу разбить страницу на страницы, где отображаются студенты. Если я скажу прямо так 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 );
    }

0 ответов

Другие вопросы по тегам