知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
微信小程序傳參回退首頁且不能有左上角的返回鍵
發(fā)表時間:2021-1-5
發(fā)布人:葵宇科技
瀏覽次數(shù):89
首先業(yè)務(wù)場景是:
首頁選擇車型, 進入二級頁面進行車系選擇, 選好再進入三級頁面選擇具體車型. 三級選好之后跳回首頁,將首頁選擇車型字樣變成選擇的車型
開發(fā)發(fā)現(xiàn)的問題:
- 問題一
第一個想法是使用 wx.navigateTo({url:""})
方式, url 傳參進行數(shù)據(jù)傳遞,然而
這樣做回到首頁的時候左上角會有一個回退按鍵
- 問題二
于是想到重定向的路由 wx.redirectTo({url:""})
這樣理論上是不會有返回按鍵的, 實際上重定向確實不會有返回按鈕,但是
使用重定向在本項目中不適用 還是會有返回鍵
原因是有三級頁面,首頁跳第二級頁面的時候還是需要返回的 所以只能使用
wx.navigateTo({url:""})
, 等到三級頁面的時候再使用wx.redirectTo({url:""})
就不會再有作用了, 必須是都是使用的重定向才可以
- 問題三
后來找到一個 api wx.navigateBack({delta: 2})
關(guān)閉當前頁面,返回上一頁面或多級頁面.
這個方法正好可以使用.直接回退兩個頁面,回到首頁.
不過傳參是個問題, 首先想到的是數(shù)據(jù)緩存
wx.setStorage
,只不過略顯麻煩,需要存儲獲取和刪除
最終解決方法
api wx.navigateBack({delta: 2})
中有句話 可通過 getCurrentPages 獲取當前的頁面棧,決定需要返回幾層。
我們打印出獲取的東西:
是一個數(shù)組 依次打開每個對象里面發(fā)現(xiàn)是每個頁面的頁面js里面的pages里的所有信息.. 然后你會發(fā)現(xiàn) 里面有 setData 方法, 那這樣... 嗯, 這操作很騷. 我們之間可以在這個頁面進行修改上一個或者上兩個頁面的 data 值了?!!!!
//在返回的函數(shù)方法內(nèi)這樣寫
let pages = getCurrentPages();
let prevPage = pages[ pages.length - 3 ]; //這里就是獲取到上某個頁面 -3 就是上兩級, -2 就是上一級 依次類推...
prevPage.setData({
car_type:this.data.cartype
})
wx.navigateBack({
delta: 2
})
復(fù)制代碼
這樣就大功告成!!!!!
相關(guān)案例查看更多
相關(guān)閱讀
- 貴州小程序開發(fā)
- 云南網(wǎng)站建設(shè)公司
- 保險網(wǎng)站建設(shè)公司
- 云南網(wǎng)站建設(shè)靠譜公司
- 網(wǎng)站建設(shè)制作
- 小程序模板開發(fā)公司
- 軟件定制公司
- 小程序開發(fā)費用
- 百度小程序公司
- 報廢車拆解系統(tǒng)
- 軟件開發(fā)
- SEO
- 網(wǎng)站建設(shè)公司哪家好
- 昆明網(wǎng)站建設(shè)公司
- 云南網(wǎng)絡(luò)營銷顧問
- 百度快速排名
- 云南小程序開發(fā)費用
- 保山小程序開發(fā)
- 云南手機網(wǎng)站建設(shè)
- 報廢車拆解管理系統(tǒng)
- 大理小程序開發(fā)
- 百度排名
- 河南小程序制作
- 旅游網(wǎng)站建設(shè)
- 網(wǎng)站建設(shè)專家
- 昆明網(wǎng)絡(luò)公司
- 排名
- 前端技術(shù)
- 百度小程序
- 汽車拆解管理系統(tǒng)