小程序带参返回上一页的方法有哪些
這篇文章主要介紹“小程序帶參返回上一頁的方法有哪些 ”,在日常操作中,相信很多人在小程序帶參返回上一頁的方法有哪些 問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”小程序帶參返回上一頁的方法有哪些 ”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
小程序的頁面跳轉(zhuǎn)API像wx.navigateTo()、wx.redirectTo()之類的,都是跳轉(zhuǎn)到一個全新的頁面,當(dāng)這個頁面是表單的時候,有時候需要跳轉(zhuǎn)到其它頁面選取信息后再跳轉(zhuǎn)回來,那之前填的信息就必須得存在,這個時候可以當(dāng)跳轉(zhuǎn)到選擇信息的頁面,選中信息后設(shè)置設(shè)置上一頁的data,然后再返回到上一頁,這樣數(shù)據(jù)都會存在。
方法一
把當(dāng)前頁面數(shù)據(jù)放入本地緩存( wx.setStorage(wx.setStorageSync),上一個頁面再從緩存中取出(wx.getStorage(wx.getStorageSync))同時退出登錄時要清除緩存(wx.clearStorage(wx.clearStorageSync))。
方法二
在當(dāng)前頁設(shè)置上一頁的data,例如varpages=getCurrentPages();//獲取頁面棧varcurrPage=pages[pages.length-1];//當(dāng)前頁面varprevPage=pages[pages.length-2];//上一個頁面prevPage.setData({mydata:{a:1,b:2}//假數(shù)據(jù)})
當(dāng)然這個“mydata”必須是上一頁有的數(shù)據(jù)才行
返回上一頁的數(shù)據(jù)為:
wx.navigateBack({delta:1})
2、直接調(diào)用方法名來更新數(shù)據(jù) 頁面A
Page({data:{name:''},...,//更新namechangeData:function(name){this.setData({name:name})}})
頁面B,假設(shè)有一個文本框用于輸入姓名,點擊返回按鈕后更新頁面A的name
Page({//此方法用于文本框輸入回調(diào)inputTyping:function(e){//獲取頁面棧varpages=getCurrentPages();if(pages.length>1){//上一個頁面實例對象varprePage=pages[pages.length-2];//關(guān)鍵在這里prePage.changeData(e.detail.value)}}})
這樣就可以實現(xiàn)數(shù)據(jù)傳遞給上一個頁面,要注意頁面A必須使用wx.navigateTo跳轉(zhuǎn)到頁面B,不能使用wx.redirectTo,這樣會關(guān)閉上一個頁面,導(dǎo)致頁面B無法獲取上一頁Page實例。
方法三 在app.js中設(shè)置全局變量,當(dāng)前頁賦值,上一頁取之
方法為
globalData:{userInfo:null,}
注意:方法一,方法三,都需要重新刷新頁面數(shù)據(jù)所走方法為:
/***生命周期函數(shù)--監(jiān)聽頁面顯示*/onShow:function(){},
總結(jié)
以上是生活随笔為你收集整理的小程序带参返回上一页的方法有哪些的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP S/4HANA里的生产订单,标识
- 下一篇: 王者荣耀极寒是什么