从微信小程序文章列表进入详情页时,如何无加载打开详情页

在列表页的时候就把文章的所有数据都加载了,所以从文章列表进入详情页的时候,其实数据都已经有了,那么我们是否做到不请求接口直接打开详情页呢?

其实是可以的,微信小程序路由提供的 getCurrentPages() 函数,可以获取当前页面栈的实例。

这个函数提供的页面栈以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面,所以倒数第二个元素就是上一页,我们可以使用这个函数实现无加载打开详情页,具体代码:

[info]

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 远程加载文章详情
}
}

[/info]


                    

人已赞赏
运维笔记

军哥Lnmp 一键安装包 简单反向代理设置

2018-8-21 19:58:09

运维笔记

DedeCMS解决分页列表显示去掉li的方法

2018-8-25 11:28:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索