- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试弄清楚如何实现 load more
功能,例如 Telescope .这是我原来的:
// Iron Router
Router.route('/posts', {
name: 'posts.index',
waitOn: function () {
return Meteor.subscribe('posts', Session.get('postsLimit');
},
data: function () {
return { posts: Posts.find({}, { sort: { createdAt: -1 } }) };
},
action: function () {
this.render();
}
});
// client/views/posts_list.html
<ul>
{{#each posts}}
<li>{{ title }}</li>
{{/each}}
</ul>
<a href"#" class="load-more">Load more</a>
// client/views/posts_list.js
var POSTS_INCREMENT = 3;
Session.setDefault('postsLimit', POSTS_INCREMENT);
Template.PostsIndex.events({
'click .load-more': function (e, tmpl) {
Session.set('postsLimit', Session.get('postsLimit') + POSTS_INCREMENT);
return false;
}
}
});
当 postsLimit
更改时,Meteor 将重新呈现列表是有道理的。我只是好奇 Telescope 是如何不重新渲染列表并且只渲染新帖子的。从我看到的 code , 而不是将限制存储在 Session
中,作者使用路由 top/:limit?
而不是使用 waitOn
,他们使用 onBeforeAction
。很难确定代码的哪一部分有助于防止重新呈现列表。有人可以帮忙详细解释一下他们是怎么做到的吗?
最佳答案
触发重新渲染的部分其实就是waitOn
。通过使用 waitOn
,您告诉 Iron Router 在您等待时将您重定向到 loading
模板,这会触发重新渲染并让您回到页面顶部。
这是 waitOn
的工作,从一个页面转到另一个页面时效果很好,但在重新呈现同一页面时显然不理想。
顺便说一下,请注意新的subscriptions
选项可以也触发相同的行为(如果您设置了全局loading
模板).
所以这就是我们在这个特定情况下使用 onBeforeAction
的原因。此模式在 Discover Meteor 中有更详细的解释。 , 顺便一提。
关于javascript - Meteor - Telescope 如何在不重新渲染的情况下加载更多帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26838824/
我正在尝试弄清楚如何实现 load more 功能,例如 Telescope .这是我原来的: // Iron Router Router.route('/posts', { name: 'pos
我正在使用 XAMPP,我安装了一个全新的 Laravel 5.8 和 Composer 创建项目 --prefer-dist laravel/laravel larascopy 在 C:\xampp
我刚安装 Laravel Telescope这对我调试应用程序有很大帮助。但此时我想删除所有望远镜数据缓存并设置为全新安装。或者有什么方法可以导出望远镜调试日志然后使用新的调试日志? 谢谢你留下你的话
我建立了一个站点来试用 Telescope/meteor,并使用来自 Godaddy 的自定义域将其与 Heroku 一起部署 ---> 问题:查看站点 iOS 时: 不错 > 响应式移动版本通过默认
我曾尝试使用纯 javascript 在 Telescope 中实现搜索,因为看起来 FTS 对 Meteor 实现有一段时间了,而且我还不能让 2.4 与 Meteor 一起很好地运行。 我正在使用
我正在定制 Telescope 主题,我需要的是显示帖子所在的域 url。它应该显示在 PostsItem 中。 就像它存在于 Sidebar.io 网站上一样,this部分。 前几天我在 Teles
我使用 neovim 和 Telescope 作为查找器(find_files、live_grep、file_browser),默认情况下 Telescope 忽略隐藏文件和包含在 .gitignor
在 Integrating a medium-editor on the Atmosphere with a Telescope App 我有一些未知的部分,我无法搜索 Atmosphere 包页面只
我正在尝试使用the Telescope package根据 Laravels 官方文档,我遵循了前 2 个步骤: composer require laravel/telescope 和 php a
我是 meteor 和望远镜的新手 我安装了 Meteor、NodeJs 和 Meteorite。克隆望远镜。当我从 Telescope 文件夹运行 Meteor 来启动 Telescope Mete
我已经取消了遥测许可,但带有“您的项目目前为空”的望远镜窗口仍然存在。 我怎样才能禁用它? 有没有可以删除它的包? 最佳答案 您可以通过以下方式折叠整个 TreeView 面板:将光标悬停在面板的内边
我在 Meteor 上使用 Telescope,但无法访问公共(public)文件夹中的任何内容。在我的 Meteor 应用程序中,我有一个包含公共(public)文件夹的包 - 其中包含我无法正确链
我是一名优秀的程序员,十分优秀!