流星整页刷新加载更多按钮(铁路由器)

时间:2014-05-27 23:50:55

标签: javascript jquery pagination meteor iron-router

我的Meteor应用程序似乎在新路线上令人耳目一新,我添加了铁路由器进展,因为我跟随探索流星。

下面是网址 - http://thusstyles.meteor.com/

Github网址 - github.com/ThusStyles/diccoverMeteor

发现流星网址 - http://meteor-book-chapter12-5.meteor.com/

当点击加载更多按钮时,我似乎跳到了顶部。

1 个答案:

答案 0 :(得分:0)

这是因为您使用 waitOn 而非订阅。 waitOn将尝试呈现加载模板,而订阅仍将订阅但不会触发加载模板,因此不会导致闪烁。

但是,这也将在订阅准备好之前呈现页面。因此,您需要跟踪订阅的就绪状态。查看Discover Meteor的示例。请注意,数据返回this.postsSub.ready,它在订阅下设置。

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.increm
ent});
return {
posts: this.posts(),
ready: this.postsSub.ready,
nextPath: hasMore ? nextPath : null
};
}
});

请参阅GitHub上的完整示例: https://github.com/DiscoverMeteor/Microscope/commit/chapter12-5