微信小程序点击返回按钮,回退到上一级页面,如何按需控制是否刷新页面数据

getCurrentPages()

  • 应用场景:
    • pageA为员工列表页
    • pageB为新建员工页
    • 从pageA到pageB:
      • 如果没有新建员工,直接点击返回按钮,回退到pageA,则不需要刷新数据
      • 如果新建员工并成功,则调用wx.navigateBack()的方法,返回到pageA并刷新数据
      • !!!不推荐使用wx.navigateTo/wx.redirectTo重新进入到pageA,会增加冗余页面
  • 解决方案:
    !!!在paegB中
// !!!在paegB中
// 获取当前的页面栈
let pages = getCurrentPages();

// 获取上一级页面,即pageA的page对象
let prevPage = pages[pages.length - 2];

// 获取上一级页面,即pageA的data
let prevPageData = prevPage.data;

// 方法1:设置上一级页面,即pageA的data
prevPage.setData({
    isRefresh: true
});

//方法2:也可以直接调用上一级页面,即pageA的方法
prevPage.onLoad();

通过以上两种方法就可以实现啦✌️
貌似在mpvue中,方法1不生效。我使用的是方法2✌️

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 小程序的路由可以理解为:根据路由规则(路径)从一个页面跳转到另一个页面的规则。 一、微信小程序中页面跳转的方法: ...
    keranalice阅读 2,789评论 0 4
  • 整理于网络 http://blog.poetries.top/2018/08/09/xiaochengxu-not...
    前端进阶之旅阅读 8,588评论 2 36
  • 一、哪些情况会触发页面跳转小程序启动,初始化第一个页面打开新页面,调用 API wx.navigateTo 或使用...
    文朝明阅读 4,074评论 0 0
  • 因新工作主要负责微信小程序这一块,最近的重心就移到这一块,该博客是对微信小程序整体的整理归纳以及标明一些细节点,初...
    majun00阅读 7,480评论 0 9
  • iOS系统概述与介绍 iOS是一款由苹果公司开发的移动操作系统(OS:Operating System)。苹果公司...
    独木舟的木阅读 594评论 0 0