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

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✌️

你可能感兴趣的:(微信小程序点击返回按钮,回退到上一级页面,如何按需控制是否刷新页面数据)