【mpvue】微信小程序返回到tab页面并刷新页面,在微信开发者工具运行正常,但是真机调试的时候跳转到了tab页面但不会刷新。getCurrentPages()获取的不是当前页面

简介: 1、问题描述在「添加基金页面pages/addfund/main」添加完基金后,点击取消,会需要跳转到「基金页面pages/index/main」并且刷新出刚刚添加的基金现在的问题是:在微信开发者工具中操作时:添加完基金后,会跳转到「基金页面pages/index/main」并且刷新出刚刚添加的基金在真机调试、预览时:在手机上操作添加完基金后,会跳转到「基金页面pages/index/main」但是不会自动刷新出刚刚添加的基金

1、问题描述


在「添加基金页面pages/addfund/main」添加完基金后,点击取消,会需要跳转到「基金页面pages/index/main」并且刷新出刚刚添加的基金


现在的问题是:


在微信开发者工具中操作时:添加完基金后,会跳转到「基金页面pages/index/main」并且刷新出刚刚添加的基金


在真机调试、预览时:在手机上操作添加完基金后,会跳转到「基金页面pages/index/main」但是不会自动刷新出刚刚添加的基金


2、相关代码以及原因分析


我们通过wx.switchTab跳转到「基金页面pages/index/main」,跳转成功后,通过getCurrentPages().pop()方法获取当前页面栈中的最后一个页面(正常来说,这个页面就是「基金页面pages/index/main」),然后调用page.onPullDownRefresh()刷新这个页面


wx.switchTab({
  url: '/pages/index/main',
  success: function (e) { 
    console.log("that.$mp",that.$mp)
    var page = getCurrentPages().pop();
    console.log("page",page)
    if (page == undefined || page == null) return;
    page.onPullDownRefresh();
  } 
})


我们在代码中通过语句console.log("page",page)打印了一下当前的page。


在微信开发者工具中打印结果如下:


在真机调试中打印结果如下:


从上面两张图可以看出,在微信开发者工具和真机调试中打印出的page里面的route是不一样的。


微信开发者工具上能刷新是因为这里的route是「基金页面pages/index/main」


真机调试中不能刷新是因为route是「添加基金页面pages/addfund/main」所有实际上刷新了「添加基金页面」,没刷新「基金页面」


3、问题分析以及解决


页面到「基金页面」并刷新是通过先从页面栈中获取到「基金页面pages/index/main」,再执行「基金页面」下的刷新页面方法。


要解决这个问题,我们需要先了解一下页面栈。


image.png


从【2、相关代码以及原因分析】展示的代码中,我们可以看到现在用的方法是wx.switchTab。那么正常的流程是跳转到「基金页面pages/index/main」页面成功后,页面栈会被清空,只留下「基金页面」这个Tab页。在微信开发者工具确实是这样的。但是在真机调试中,最后留下的页面是「添加基金页面pages/addfund/main」。应该是微信小程序的一个bug了吧。


我们的解决方案是将wx.switchTab换成wx.reLaunch。这样就正常了,像下面这样:


wx.reLaunch({
  url: '/pages/index/main',
  success: function (e) { 
    console.log("that.$mp",that.$mp)
    var page = getCurrentPages().pop();
    console.log("page",page)
    if (page == undefined || page == null) return;
    page.onPullDownRefresh();
  } 
})
目录
相关文章
|
1月前
|
人工智能 小程序 前端开发
小程序源码| i麦当劳微信小程序源码模版
小程序源码| i麦当劳微信小程序源码模版
|
1月前
|
小程序
微信小程序实现不同按钮跳转同一个页面显示不同内容
微信小程序实现不同按钮跳转同一个页面显示不同内容
23 0
|
19天前
|
移动开发 小程序 API
【每周一个小技巧】支付宝小程序内如何跳转生活号文章
【每周一个小技巧】支付宝小程序内如何跳转生活号文章
14 0
|
19天前
|
小程序 JavaScript 前端开发
【每周一个小技巧】支付宝小程序如何跳转到支付宝搜索页面
【每周一个小技巧】支付宝小程序如何跳转到支付宝搜索页面
11 0
|
19天前
|
小程序 JavaScript 前端开发
【每周一个小技巧】支付宝小程序跳转生活号的几种方式
【每周一个小技巧】支付宝小程序跳转生活号的几种方式
12 1
|
20天前
|
小程序 IDE 定位技术
【社区每周】小程序支持预拉取地理位置;验收工具组件集成至“商家券”等产品文档(11月第五期)
【社区每周】小程序支持预拉取地理位置;验收工具组件集成至“商家券”等产品文档(11月第五期)
14 0
|
20天前
|
移动开发 小程序 数据管理
9月开发者日回顾|小程序跳转接口等多个JSAPI更新,能力集成提供场景化排查工具
9月开发者日回顾|小程序跳转接口等多个JSAPI更新,能力集成提供场景化排查工具
21 0
|
20天前
|
小程序 IDE API
8月开发者日回顾|小程序开发实用工具分享
8月开发者日回顾|小程序开发实用工具分享
16 0
|
1月前
|
人工智能 小程序 前端开发
微信小程序|SSM微信小程序的学生选课系统(二)
微信小程序|SSM微信小程序的学生选课系统
|
1月前
|
小程序 Java 应用服务中间件
微信小程序|SSM微信小程序的学生选课系统(一)
微信小程序|SSM微信小程序的学生选课系统

热门文章

最新文章