最近剛趕完項目,利用空閑時間總結(jié)一下。
小程序的頁面間傳值 , 之前處理這種例如 a頁面跳轉(zhuǎn)b頁面,在b頁面進行一波操作 回到a頁面 都是把b頁面的操作的數(shù)據(jù)存到本地存儲
wx.setStorageSync("b_data","b頁面的數(shù)據(jù)")在a頁面是這樣的
wx.getStorageSync("b_data")但是這種方法怎么說呢 不利于操作 還會導致storage里面的數(shù)據(jù)非常混亂過一段時間鬼知道是什么,操作也麻煩 總之就是略low
后臺研究這個事 發(fā)現(xiàn)小程序的官方文檔有一個獲取 獲取當前頁面棧。數(shù)組中第一個元素為首頁,最后一個元素為當前頁面。--getCurrentPages()
然后好玩的事來了 你可以在b頁面獲取a頁面的數(shù)據(jù) 更神奇的是可以直接調(diào)用上個頁面的setData方法 直接操作上個頁面的數(shù)據(jù)

例如這樣
let pages = getCurrentPages(); // 獲取當前頁面棧let prevPage = pages[pages.length - 2]; // -2 就是你上一頁的數(shù)據(jù) 你上上頁的數(shù)據(jù)就是-3 了以此類推!// 直接操作上一個頁面的 index數(shù)據(jù) 之后返回 prevPage.setData({index:index},function(){wx.navigateBack()})簡單明了!好用且強大!另外還一個小技巧吧 在開發(fā)的時候有一個這樣的需求 要求后臺生成小程序碼,用微信掃描小程序碼帶參數(shù)進入一個頁面 但是生成的小程序碼是線上的正式版本 但是小程度還沒有上線 沒有辦法調(diào)試 解決方案來了 ,注意,前方高能------------->

自行實驗哦~~~
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點
疑難解答