我正在关注Discover Meteor.js书并创建链接共享应用程序,但希望根据周而不是帖子新近度进行分页。
目前,代码的结构是根据网址显示一定数量的帖子:http://localhost:3000/<#ofDisplayedPosts>
但我希望显示最近一周提交的每篇文章,然后是前一周等。
这是发布mongo集合的帖子:
Meteor.publish('posts', function(options){
check(options, {
sort: Object,
limit: Number,
});
return Posts.find({}, options);
});
以下是路由器如何将数据传递给客户端
PostsListController = RouteController.extend({
template: 'postsList',
increment: 5,
postsLimit: function() {
return parseInt(this.params.postsLimit) || this.increment;
},
findOptions: function() {
return {sort: {submitted: -1}, limit: this.postsLimit()};
},
subscriptions: function() {
this.postsSub = Meteor.subscribe('posts', this.findOptions());
},
posts: function() {
return Posts.find({}, this.findOptions());
},
data: function() {
var hasMore = this.posts().count() === this.postsLimit();
var nextPath = this.route.path({postsLimit: this.postsLimit() + this.increment});
return {
posts: this.posts(),
ready: this.postsSub.ready,
nextPath: hasMore ? nextPath : null
};
}
});
与Product Hunt类似,如何按周对帖子进行分组,将该信息编码到URL&在页面底部创建一个链接以查看上周的帖子?
谢谢!
答案 0 :(得分:0)
基本流程:
:numberOfDisplayedPosts
替换为:startdate
,以便您的路线知道将哪个日期用作起点。为了获得更大的灵活性,您可以使用两个路由参数,startdate和enddate,然后您可以查看周,日,月或其他任何内容。limit
的所有引用,因为您只会使用日期范围。