1. 程式人生 > >小程式獲取上一個頁面或者某個頁面內的值

小程式獲取上一個頁面或者某個頁面內的值

在小程式中,有時會遇到轉跳到下一個頁面,但是不能直接把當前頁面的集合或者物件整個傳入時 ,可以使用JSON.stringify將該物件或集合轉換為JSON字串

let str=JSON.stringify(e.currentTarget.dataset.item);
wx.navigateTo({
url: '../toMybaby/babyDetail/babyDetail?jsonStr='+str
}

然後在下一個頁面onLoad時使用JSON.parse轉換該字串,就可以傳遞該集合

  onLoad:function(options){
    // 生命週期函式--監聽頁面載入
    let item=JSON.parse(options.jsonStr);
    this.setData({ward:item});
  },

當然還有另一種方法,使用getCurrentPages();獲取當前所有活動頁面。pages.length就是該集合長度 -1就是最後一個活動的頁面,也就是當前頁面。 -2就是上一個活動的頁面,也即是跳過來的頁面。

利用這個方法我們使用這個頁面可以獲取到上一個頁面所有的data資料。同時在返回上一個頁面時,也可以使用setData去修改上一個頁面裡data的值,從而達到及時重新整理頁面的效果。

var pages = getCurrentPages();
var Page = pages[pages.length - 1];//當前頁
var prevPage = pages[pages.length - 2];  //上一個頁面
var info = prevPage.data //取上頁data裡的資料也可以修改
prevPage.setData({鍵:值 })//設定資料