2016-04-01 8 views
2

Metnin ya da <a> meteor js kullanarak verileri değiştirmek istiyorum.Metnin ya da <a> tuşunu kullanarak verileri değiştirmek ya da güncellemek istiyorum meteor js'yi kullanarak

Bir çeşit sayfalandırma işlevi uygulamak istiyorum.

basit todos.html:

<div class="container"> 
    {{#if currentUser}} 
     <ul> 
      {{#each tasks}} 
      {{> task}} 
      {{/each}} 

      {{> pagination}} 
     </ul> 
    {{/if}} 
</div> 

basit todos.js:

Template.body.helpers({ 
    tasks: function() { 
     return Tasks.find({}, {limit: 3}, {sort: {createdAt: -1}}); 
    } 
}); 
İşte
/simple-todos 
    /client 
     /stylesheets 
     /templates 
      /simple-todos.html 
     simple-todos.js 
    /pagination 
     pagination.html 
     pagination.js 

ben kullanıyorum kodu:

İşte benim dizin yapısı var

pagination.html :

<template name="pagination"> 
    <ul align="center" class="pagination"> 
     <li><a href="#">« prev</a></li> 
     <li><a href="#" class="next">next »</a></li> 
    </ul> 
</template> 

pagination.js:

if (Meteor.isClient) { 
    Template.pagination.events({ 
     "click .next": function() { 
      event.preventDefault(); 
      Template.body.helpers({ 
       tasks: function() { 
        return Tasks.find({}, {skip:3, limit: 3}, {sort: {createdAt: -1}}); 
       } 
      }); 
     } 
    }); 
} 

cevap

0

Sen bunu başarmak için bir session variable kullanabilirsiniz.

basit todos.js:

Template.body.onCreated(function() { 
    Session.setDefault('tasks-page-number', 1); 
}); 

Template.body.helpers({ 
    tasks: function() { 
     var currentPage = Session.get('tasks-page-number'); 
     //check here, if currentPage is valid number, if not return 1. 
     var skip = (currentPage - 1) * 3; 
     return Tasks.find({}, {skip: skip, limit: 3}, {sort: {createdAt: -1}}); 
    } 
}); 

pagination.js:

if (Meteor.isClient) { 

    Template.pagination.events({ 
     "click .next": function() { 
      event.preventDefault(); 
      var pageNumber = Session.get('tasks-page-number'); 
      //check if page number is valid number, if not set it to zero here. 
      Session.set('tasks-page-number', (pageNumber + 1)); 
     } 
    }); 
} 

Bir şey daha, sen olay dinleyicisi içine helpers yeniden tanımlamak değil olabilir.

+0

Teşekkür ederiz @kishor. Ama Template.body.onCreated içinde Session.setDefault yazımı bana bir hata döndür: Beklenen ':' ve bunun yerine '.' –

+0

@ChintanPandya Üzgünüm, bir hata yaptım. Ben yanlışlıkla Template.body.onCreated ({'yerine Template.body.onCreated (function() {' yerine yazdım.Şimdi düzeltildi.Şimdi çalışırsa bakın – Kishor

+1

İşleri Harika! .. :) Teşekkürler. –

İlgili konular