小程式獲取上一個頁面或者某個頁面內的值
阿新 • • 發佈:2018-12-14
在小程式中,有時會遇到轉跳到下一個頁面,但是不能直接把當前頁面的集合或者物件整個傳入時 ,可以使用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({鍵:值 })//設定資料