2014-04-20 48 views
2

親愛的朋友們,流星雨的客戶認購

Template.tmp_detail_campaign_code_batch.events({ 
     'click .ancProdCodePagination': function (e) { 
      Meteor.subscribe('ItemPage', Number*10,10) 
     } 
    }); 

它的定義:

Meteor.publish('ItemPage', function(skipItem, takeItem){ 
    return Item.find({},{ 
     skip : skipItem, 
     limit : takeItem 
    }); } 

當我點擊.ancProdCodePagination,簽約項目的數量保持10。對於分頁增加,我想使金額保持在10,但每次點擊都有不同的項目。

我該怎麼辦?

回答

5

你只需要第一stop之前的認購,這將涉及到存儲的手柄,它返回的地方:

var itemSub; 

Template.tmp_detail_campaign_code_batch.events({ 
    'click .ancProdCodePagination': function (e) { 
     if (itemSub) 
      itemSub.stop(); 
     itemSub = Meteor.subscribe('ItemPage', Number*10,10); 
    } 
}); 

the docs,該stop方法做到這一點:

取消訂閱。這通常會導致服務器指示客戶端從客戶端的緩存中刪除預訂的數據。

+1

我們如何讓客戶端會話的'itemSub'持久化?在Session中存儲'itemSub'會修剪掉方法,我們不能對它調用'stop'。 –