小程序
小游戏
企业微信
微信支付
扫描小程序码分享
getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
getCurrentPages()
Tip:不要尝试修改页面栈,会导致路由以及页面状态错误。
文档说不要尝试修改页面栈,我获取当前路由 使用 getCurrentPages().pop().route 选修改吗
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
不知道为什么,pop的时候只是取出来的最后的元素,并没有把数据移除掉。亲测是这样的。在小程序里面对于数组的pop会把数据移除掉。很奇怪的一个设定。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
注意getCurrentPages后面的括号,因为有了括号页面栈才不至于被修改。
我在首页,切换tabbar时,调用了这个getCurrentPages(),但获取的页面还是首页,不是当前页,这是怎么回事啊? 要跳转到mine页面, wx.switchTab({ url: url, success(res) { console.log('switchTab===',getCurrentPages()); if(count == 4) { var page = getCurrentPages().pop(); console.log('switchTab',page); if (page == undefined || page == null) return; page.onLoad(); } } }) 调用page.onLoad()把原来的index页面也给刷新了一下。
同样代码没有复现
今天刚刚看到这段代码也迟疑了一下,但是看到腾讯自己的sdk里面也是这样写的,猜测应该返回的是页面栈的copy,所以不影响,不然为什么要通过getCurrentPages() 调用来获取呢。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
不知道为什么,pop的时候只是取出来的最后的元素,并没有把数据移除掉。亲测是这样的。在小程序里面对于数组的pop会把数据移除掉。很奇怪的一个设定。
注意getCurrentPages后面的括号,因为有了括号页面栈才不至于被修改。
我在首页,切换tabbar时,调用了这个getCurrentPages(),但获取的页面还是首页,不是当前页,这是怎么回事啊? 要跳转到mine页面, wx.switchTab({ url: url, success(res) { console.log('switchTab===',getCurrentPages()); if(count == 4) { var page = getCurrentPages().pop(); console.log('switchTab',page); if (page == undefined || page == null) return; page.onLoad(); } } }) 调用page.onLoad()把原来的index页面也给刷新了一下。
同样代码没有复现
今天刚刚看到这段代码也迟疑了一下,但是看到腾讯自己的sdk里面也是这样写的,猜测应该返回的是页面栈的copy,所以不影响,不然为什么要通过getCurrentPages() 调用来获取呢。