gpt4 book ai didi

javascript - Meteor "load more"按钮,带有 Iron Router,且 url 中没有 "Posts Limit"

转载 作者:行者123 更新时间:2023-12-02 06:58:39 24 4
gpt4 key购买 nike

所以我正在使用 Iron-Router 构建一个多页面 Meteor 应用程序。在一个页面(不是主页)上,我有一个集合中显示的项目列表,其中 Iron-Router “等待”集合中的数据,其限制取决于 session 变量。

当按下加载更多按钮时, session 变量会发生变化,并且页面会重新加载更多项目。

我想做的就是在旧的“加载更多”按钮的位置重新加载页面(新的按钮放置在新列表的末尾),或者以某种方式使此转换更清晰。请参阅http://microscope.meteor.com/一个完美的例子。

HTML:

 <template name="postsList">
{{#each postsWithRank}}
{{> postItem}}
{{/each}}

{{#if moreResults}}
{{> loadMore}}
{{/if}}
</template>


<template name="loadMore">
<a class="load-more">Load more</a>
</template>

帮助者:

Template.postsList.helpers({ 
postsWithRank: function() {
Posts.find({category: this.title}).rewind();
return Posts.find({category: this.title}).map(function(post, index, cursor) {
post._rank = index;
return post;
});
},
moreResults: function() {
return parseInt(Session.get('limit')) == Posts.find().fetch().length;
}
});


Template.loadMore.events({
"click": function(event) {
event.preventDefault();
Session.set("limit", Session.get("limit") + 10);
}
})

路由器:

  listingPageController = RouteController.extend({
template: 'listingPage',
sort: {submitted: -1, _id: -1},
limit: function() {return Session.get('limit')},
findOptions: function() {
return {sort: this.sort, title: this.params.title, limit: this.limit()};
},
waitOn: function() {
return Meteor.subscribe("posts", this.findOptions());
},
data: function() {
return Listings.findOne({title: this.params.title})
}
});

谢谢!

所以我没有 postsList 模板的路由器代码。 postsList 模板在listingPage 模板内部呈现,如下所示:

<template name="listingPage">

<!--main-->
<div class="container">
<div class="row">

{{>leftBarListingPage}}

<!--right-->
<div class="col-md-9">
<h2 id="sec1">
<div class="listingPageHeader">
<div style= "text-transform:capitalize"> Posts in</div>
<div class="smallListings">&nbsp;</div>
{{title}} </div>
</h2>


<p>
<div class="posts">
{{> postsList}}
</div>
</p>


</div><!--/right-->

{{title}}属性来自listingPageController,它与两个Collections一起使用 -> Listings集合(用于静态父类别)和Posts集合(用于这些类别中的帖子)

最佳答案

有什么问题吗?您只说了您想要做的事情,而不是您遇到的任何错误/问题。

如果页面移回顶部,这是因为最新版本的 Iron 路由器存在错误,请编辑 smart.json 并更改/插入该行

"iron-router": {
"version": "0.7.0"
}

然后测试并查看它是否有效,您也可能希望在之前的操作中运行 Session.setDefault("limit", 10),否则您将不会总是拥有该 session 。

关于javascript - Meteor "load more"按钮,带有 Iron Router,且 url 中没有 "Posts Limit",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25007149/

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