从微信小程序文章列表进入详情页时,如何无加载打开详情页
2023-06-13 09:18:32 时间
我在写「一个程序手册」的接口,在列表页的时候就把文章的所有数据都加载了,所以从文章列表进入详情页的时候,其实数据都已经有了,那么我们是否做到不请求接口直接打开详情页呢?
其实是可以的,微信小程序路由提供的 getCurrentPages()
函数,可以获取当前页面栈的实例。
这个函数提供的页面栈以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面,所以倒数第二个元素就是上一页,我们可以使用这个函数实现无加载打开详情页,具体代码:
const loadArticle = function (id) {
let pages = getCurrentPages()
let count = pages.length;
let article = null;
if(count >=2 && (pages[count-2].data.is_list == true && pages[count-2].data.articles) ){
let articles = pages[count-2].data.articles.filter(item => item.id == id);
if(articles){
article = articles[0];
}
}
if(article){
this.setData({
article: article
})
}else{
// 使用 API 远程加载文章详情
}
}
体验Demo,请扫描一个程序手册,看看从列表页进入详情页是不是很快:
相关文章
- Python将字符串转换为列表
- 通配符掩码的应用 ACL 访问控制列表
- Mybatis中jdbcType和javaType的对应关系;Mybatis JdbcType与Oracle、MySql数据类型对应列表
- 【愚公系列】2022年09月 微信小程序-电商项目-商品列表也功能实现12(待写勿看)
- Nginx 目录列表美化
- 【愚公系列】2022年11月 微信小程序-优购电商项目-订单列表页面
- C/C++ Qt StringListModel 字符串列表映射组件
- Python list列表添加元素的3种方法
- 表MySQL 导出特定列表的操作指南(mysql导出指定列)
- 文件列表功能深入探索:使用Linux中的LS命令轻松实现文件列表操作(linuxls命令实现)
- 轻松掌握Linux系统:查看组列表的方法(linux查看组列表)
- 如何在Linux中按照时间排序文件列表(linux按照时间排序)
- Redis实现分页列表存储技术简介(分页list存redis)
- javascript实现通过拼音首字母快速选择下拉列表
- css+js实现select列表横向排列效果代码
- OpenCms带分页的新闻列表
- python参数列表中的self显式不等于冗余
- python使用心得之获得github代码库列表