代碼附在最后
適用場景:uniapp開發(fā)微信小程序
需求是我點(diǎn)擊列表進(jìn)入數(shù)據(jù)信息的詳情界面,點(diǎn)擊詳情界面的收藏,返回上一界面后,更新列表中的收藏情況。
目錄
一、使用onUnload監(jiān)聽頁面卸載
二、使用getCurrentPages()獲取當(dāng)前頁面棧所有的實(shí)例,并找到上一界面的實(shí)例進(jìn)行數(shù)據(jù)修改
一、使用onUnload監(jiān)聽頁面卸載
一開始我使用的是onBackPress(),但是這個方法在微信小程序中根本不生效,后來查看官網(wǎng)才發(fā)現(xiàn)這個方法只適用于:app、h5和支付寶小程序
而微信小程序如果觸發(fā)返回按鈕,怎么進(jìn)行監(jiān)聽呢?
需要使用uniapp官網(wǎng)中寫的onUnLoad()方法 點(diǎn)擊這里進(jìn)行查看
運(yùn)用到實(shí)際情況中:
當(dāng)觸發(fā)左上角的返回按鈕時,控制臺也進(jìn)行了打印。
二、使用getCurrentPages()獲取當(dāng)前頁面棧所有的實(shí)例,并找到上一界面的實(shí)例進(jìn)行數(shù)據(jù)修改
那么,可以開始在這個方法里邊進(jìn)行修改上一個界面的數(shù)據(jù)信息。
需要根據(jù)getCurrentPages()獲取當(dāng)前頁面棧上所有的實(shí)例列表
具體代碼:文章來源:http://www.zghlxwxcb.cn/news/detail-762686.html
onUnload() {
let pages = getCurrentPages();//獲取所有界面棧的實(shí)例列表
console.log(pages)
let prePage = pages[0];//上一個界面的實(shí)例
console.log(prePage)
//判斷當(dāng)前數(shù)據(jù)信息有沒有更改,如果值為true,說明用戶更改了數(shù)據(jù)信息,上一界面則需要更新
if(this.scqk){
//需要修改的上一個界面的信息,可以在此處進(jìn)行更改
console.log(prePage.$vm.searchData);
}
},
文章來源地址http://www.zghlxwxcb.cn/news/detail-762686.html
到了這里,關(guān)于uniapp+微信小程序監(jiān)聽返回事件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!