1. 程式人生 > 其它 >uni開發app使用uni.switchTab子返回父的時候沒有觸發onshow和onLoad生命週期

uni開發app使用uni.switchTab子返回父的時候沒有觸發onshow和onLoad生命週期

今天我在做uniapp專案中從父頁面跳轉到子頁面提交資料返回父頁面的時候發現數據並沒有執行onload生命週期,使用getCurrentPages()獲取當前頁面棧的例項從這個思路往下深入

uni.switchTab({
//這個地址看你page.json中tabbar使用地址 url:
'../myfile/myfile',
//成功返回的回撥 success: (res)
=> {
//獲取當前頁面的例項按照陣列的順序排列[0]開始首頁,因為我就是首頁和我的頁面所以分別為0和1 let page
= getCurrentPages()[1];
//判斷如果拿不到例項的情況下直接return出去
if (page == undefined || page == null
) return;
//我發現突然直接page.getmyfileMsg()方法的時候會報錯,具體原因是還沒有獲取到就去呼叫所以找不到,然後我加上一個判斷
if(page.route == 'pages/myfile/myfile') {
//這裡的getMyfileMsg()這個方法是你父頁面中onload需要執行什麼方法你就在這裡執行就可以了 page.getMyfileMsg() } } })

以上就是我自己研究出來的解決方案,在百度摸索了一圈都是不能用的,只能自己console列印一步一步的找了 ,希望能幫到後面的人,感覺是uniapp的一個bug算了,記錄一下以備以後不時之需