gpt4 book ai didi

javascript - 我如何实现 meteor 收集的 "load more"按钮

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:36 25 4
gpt4 key购买 nike

*****更新********

我使用下面的建议提出了另一个问题...但使用 Iron-Router RouteController

call method in Iron-Router RouteController from Template.tmpl.helpers() not working

<小时/>

基本上我想要做的是有一个按钮,可以将更多记录加载到客户端上的我的集合中。我的数据库中有未知数量的记录,但我只想将最新的 500 条左右加载到客户端。

我正在尝试模拟“继续在服务器上搜索”功能。我不是在寻找分页解决方案。

建议?

--------编辑添加代码------------

这是在我的/server/publications.js 文件中:

Meteor.publish('clients', function( requestOptions ){
check(requestOptions, Object)
var options = _.extend(opts, requestOptions)
return Clients.find(baseQuery, options)
})

这是在我的/lib/router.js 文件中:

Router.route('/clients', {
name : 'clientList',
waitOn : function(){
return Meteor.subscribe('clients', {limit:500})
}
})

基本上我想显示最后 500 个新客户端,但允许最终用户“加载更多”或“加载全部”。我不知道如何通过订阅来响应式地做到这一点...

load more button

最佳答案

将此事件处理程序附加到托管按钮的模板:

Template.clients.events({
"click .load-more-button": function (event, template) {
template.skipped += 500;
template.subscriptions.push(Meteor.subscribe("client", {
limit: 500,
skip: template.skipped
}));
}
});

Template.clients.created = function () {
this.subscriptions = [];
this.skipped = 0;
};

//Stop the subscriptions when template is destroyed
Template.clients.destroyed: function () {
_.invoke(this.subscriptions, "stop");
};

只要您的客户端光标没有设置限制,它就应该可以工作,但这也意味着由其他模板等加载的任何客户端都会出现在列表中。

关于javascript - 我如何实现 meteor 收集的 "load more"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27090665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com