我对应该如何请求更多数据(例如使用API)并将其附加到我已经获得的列表上感到非常困惑。
假设我们具有无限滚动功能或“加载更多”按钮,并且在事件触发时,我加载了更多数据(不包括已经拥有的数据)并追加了数据。
我尝试创建铁路由器服务器路由,但无法使用Ajax检索它,因为它是一条客户端路由,所以我的呼叫始终在处理它。
使用Meteor进行更新的最新方式是什么?
我的尝试是
Router.route('/posts',{where: 'server'}).get(function(){
// do something
});
和这个
Router.route('/posts', function () {
this.layout(null);
var req = this.request;
var res = this.response;
res.end(JSON.stringify({}));
}, {where: 'server'});
最佳答案
请记住流星的反应性。阿波罗流星之前的核心思想是订阅一些数据,以便返回的数据是您此时需要显示的数据。
也就是说,对于无限滚动,我过去看到的是使用反应式var设置订阅的“过滤器”。向下滚动时,事件触发时,您只需更新过滤器,然后(响应地)触发对订阅的更新(有效),然后扩大订阅的数据。
过滤的方式在很大程度上取决于您的数据,但基本上使用的方式可以使您对数据进行排序并扩展返回的“限制计数”。