在微信小程序开发的时候用到getCurrentPages(),获取打开页面栈实例,返回的是一个是一个先进后出的栈结构,
let pages = getCurrentPages()
let currentPage = pages[pages.length -1] //可以获得当前页面,如果要获取指定页面的栈实例
let count = 0;
pages.forEach(e=>{ //如果打开多个页面,用遍历方式可获得指定页面并用
if(e.route == 'pages/xxx/xxx'){
可获得指定的页面栈实例
wx.navigateBack({delta: count})
}
})
但是在uni-app中在开发APP的时候,getCurrentPages()返回的是一个先进先出的队列结构,
let pages = getCurrentPages().reverse();
为什么要reverse()一下,如果你要用uni.navigateBack({delta: count}),这将会是一个坑count是统计你要返回的页面数量,如果不调用reverse()你会从队列的头开始遍历,但是count要从底部返回累计,所以getCurrentPages().reverse(); 后才能把原先的队列结构反过来,我们在进行遍历才能得到一个正确的顺序
let currentPage = pages[pages.length -1] //可以获得当前页面,如果要获取指定页面的栈实例
let count = 0;
pages.forEach(e=>{ //如果打开多个页面,用遍历方式可获得指定页面并用
if(e.route == 'pages/xxx/xxx'){
可获得指定的页面栈实例
uni.navigateBack({delta: count})
}
})
12 个评论
要回复文章请先登录或注册
2***@qq.com
新手村
1***@qq.com
DCloud_UNI_GSQ
1***@qq.com
DCloud_UNI_GSQ
1***@qq.com
DCloud_UNI_GSQ
1***@qq.com
DCloud_UNI_GSQ