1. 程式人生 > >微信小程式:wx.navigateTo從子頁面跳回父頁面,頁面不重新整理的問題

微信小程式:wx.navigateTo從子頁面跳回父頁面,頁面不重新整理的問題

先簡要說說小程式的生命週期:
應用的生命週期:App({…}) 用來註冊小程式,指定小程式的生命週期
頁面的生命週期:Page({…}) 註冊頁面,指定頁面的生命週期
具體註冊函式的內容見小程式官網API

其中有三個生命週期函式的觸發順序:onLoad->onShow->onReady (頁面載入->頁面顯示->頁面初次渲染)
onLoad和onReady每個頁面只會觸發一次,如果一個頁面沒有onUnload,則不會再次觸發onLoad和onReady
onReady:頁面首次渲染完成,可以進行互動

下面談一下專案使用過程中出現的從下一頁面跳回上一頁面,頁面不重新整理的問題,本質上來說是微信小程式中跳轉API所對應的生命週期的問題


用wx.navigatorTo()進行頁面跳轉時,假設A—>B,此時B是作為A的一個子頁面存在的,A並沒有解除安裝onUnLoad,只是onHide了,仍在後臺執行;從B跳回A,自然不會重新onLoad,只會onShow。
在具體的業務場景中,我們希望當在子頁面B中使用者進行資料修改和表單提交之後,返回到父頁面A中時,A獲取到的相關資料能夠更新,但,小程式的對wx.navigatorTo()的生命週期的安排不會再去獲取資料,要想頁面A強制重新整理,在A 的onShow函式中強制發請求再獲取資料執行方法。

後面有時間會寫一篇對微信小程式生命週期的詳細分析