我目前正在尝试在简单的新闻页面上实现“加载更多”按钮。
由于Meteor Chef,我的搜索工作正常,我遵循相同的原则来实现“加载更多”按钮。相关代码如下:
模板:
Template.listAllNews.onCreated(function() {
template.limit = new ReactiveVar(10);
Tracker.autorun( () => {
template.subscribe( 'news.all', template.searchQuery.get(), template.limit.get(), () => {
setTimeout( () => {
template.searching.set( false );
}, 300 );
});
});
Template.listAllNews.events({
'click .load-more-button': function (event, template) {
var limit = template.limit.get();
limit += 10;
template.limit.set( limit );
}
});
公开:
let query = {},
projection = { limit: limit, sort: { submitted: -1 } };
if ( search ) {
let regex = new RegExp( search, 'i' );
query = {
$or: [
{ title: regex }
]
};
projection.limit = 100;
}
return News.find( query, projection );
这很有效。问题是:它刷新所有数据,而不是只加载额外的10篇新闻文章。我希望它只在点击时加载额外的10篇文章,而不是“刷新”订阅。
我该怎么做?