有些項(xiàng)目的需求是某個(gè)頁面返回特定的頁面,這就需要對(duì)頁面的返回按鈕進(jìn)行操作
?在查看文檔和社區(qū)后,總結(jié)了幾種解決方案
1.在頁面生命周期回調(diào)函數(shù)onUnload()中,調(diào)用wx.redirectTo()關(guān)閉當(dāng)前頁面返回某一頁面。但這種方法有種缺陷,就是原來默認(rèn)的返回頁面會(huì)先出現(xiàn),而想要返回的頁面會(huì)后出現(xiàn),用戶體驗(yàn)不夠友好。
2.通過自定義導(dǎo)航欄,自定義返回事件。這種方法只能控制返回按鈕,無法控制用戶的物理返回操作,需要再對(duì)用戶的物理返回動(dòng)作進(jìn)行監(jiān)聽,定義返回事件,太過麻煩。(后面有時(shí)間會(huì)寫此方法)
3.通過wx.enableAlertBeforeUnload()開啟返回詢問對(duì)話框,但是這種方法手勢滑動(dòng)返回時(shí)不做攔截,而現(xiàn)在很多人返回是不會(huì)點(diǎn)擊自帶的返回鍵的。wx.enableAlertBeforeUnload(Object object) | 微信開放文檔 (qq.com)
4.干掉這個(gè)需求,理由就是微信官方目前沒有提供對(duì)返回按鈕進(jìn)行操作的API。
當(dāng)初有考慮過操作頁面棧的方式,但是微信小程序頁面棧只能通過getCurrentPages()查看,無法操作
頁面棧介紹
PageObject[] getCurrentPages() | 微信開放文檔 (qq.com)文章來源:http://www.zghlxwxcb.cn/news/detail-506692.html
頁面路由 | 微信開放文檔 (qq.com)文章來源地址http://www.zghlxwxcb.cn/news/detail-506692.html
到了這里,關(guān)于微信小程序自定義左側(cè)返回按鈕事件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!