微信小程序(三):返回上一级页面并刷新(页面栈)

在很多业务场景之下,需要返回上一级页面,并进行刷新,在微信小程序中的wx.navigateBack方法中,返回上一页是不会刷新的。如果上一页的页面加载是在onLoad方法中触发的话,那么可以修改为在onShow方法中触发。

onLoad(Object query):页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。

onShow:页面显示/切入前台时触发。

值得注意的是:如果上一级的页面是从上上级页面跳过来的话,之前在onLoad方法中,使用的options获取的参数方法,那么当修改为onShow加载的时候就需要,将这个方法稍微修改一下,可以选择使用页面栈的方式,获取上上级页面传来的参数:

onLoad加载:

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    that.setData({
      project_id: options.project_id
    })
  },

修改为:

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 页面初始化 options为页面跳转所带来的参数
    var that = this;
    let pages = getCurrentPages(); //页面栈
    let currPage = pages[pages.length - 1]; //当前页面
    that.setData({
      name: currPage.options.name //获取上上级页面传的参数
    })
  },

文章若有错误之处还望帮忙指正,谢谢。

你可能感兴趣的:(微信小程序)