小程序
小游戏
企业微信
微信支付
扫描小程序码分享
场景:在wx.navigateTo方法的success回调中getCurrentPages()获取当前页面栈
真机预览(iOS)表现:页面栈的最后一项为跳转目标页
开发者工具表现:页面栈的最后一项为原页面(目标页未入栈) 需要setTimeout一秒左右获取当前页面栈
希望开发者工具的表现能与真机一致,在目标页入栈后再执行success回调
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
就是wx.navigateTo方法,真机会在页面入栈后执行success回调,而开发者工具会在新页面入栈前执行。一句代码还需要提交片段吗.
wx.navigateTo({
url:
'/pages/test/test'
,
success(){
const pages = getCurrentPages();
console.log(pages[pages.length-1])
//真机在此时输出的为/pages/test/test页的实例,开发者工具输出的为原页面实例,即开发者工具在目标页未入栈时就执行了success回调
}
})
用setTimeout可以解决,但体验并不好,还是希望能开发者工具行为和真机尽量保持一致
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
就是wx.navigateTo方法,真机会在页面入栈后执行success回调,而开发者工具会在新页面入栈前执行。一句代码还需要提交片段吗.
wx.navigateTo({
url:
'/pages/test/test'
,
success(){
const pages = getCurrentPages();
console.log(pages[pages.length-1])
//真机在此时输出的为/pages/test/test页的实例,开发者工具输出的为原页面实例,即开发者工具在目标页未入栈时就执行了success回调
}
})
用setTimeout可以解决,但体验并不好,还是希望能开发者工具行为和真机尽量保持一致