1. 程式人生 > >微信小程式(三):返回上一級頁面並重新整理(頁面棧)

微信小程式(三):返回上一級頁面並重新整理(頁面棧)

在很多業務場景之下,需要返回上一級頁面,並進行重新整理,在微信小程式中的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 //獲取上上級頁面傳的引數
    })
  },

文章若有錯誤之處還望幫忙指正,謝謝。