小程序带参返回刷新主页面

小程序带参返回刷新主页面

A页面为主页面,B页面为子页面

从B页面返回A页面时刷新A页面

A页面(a.js)

Page({
  /**
   * 页面的初始数据
   */
  data: {
    isInit: false
  },
  /**
   * 初始化数据的方法
   */
  initWindow(){
    //业务逻辑
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    this.initWindow();
  },
  /**
   * 生命周期函数--监听页面显示
   * 当B页面改变isInit时,返回到A页面从新加载一次数据
   */
  onShow: function () {
    if(this.data.isInit)
      this.initWindow();
  }
})

 B页面(b.js)假设B页面有一个点击的方法来实现,可根据自己的需求改写

Page({
  bindBack(){
    // 获取pages里面的所有信息
    let pages = getCurrentPages();
    // 获取上一个页面的js里面的信息,-2是上一个页面,-3是上上个页面,以此类推
    let parentPage = pages[pages.length - 2];
    //设置上个页面用来判断数据是否刷新的变量,也可以设置自己所需的值
    parentPage.setData({
      isInit: true
    });
    //设置返回上一个页面
    wx.navigateBack({
      data: 1
    })
  }
})

 当B页面设置了A页面的值时,会自动改变A页面的值的

如上面所示,当返回到A页面的时候就会重新加载一次A页面的数据,实现了返回刷新的问题

本人小白,如有问题,请大神指教

参照连接地址:https://blog.csdn.net/namecz/article/details/81188190

原文地址:https://www.cnblogs.com/combat/p/12367226.html