最近寫公司的一個微信小程序遇到了一個小問題,就是由于微信小程序自己的運行機制小程序不會主動被微信注銷導致的小程序不會在你退出小程序界面后自動unload,從微信小程序官方文檔上可以看到:
當退出小程序之后,此時小程序并非unload狀態,而是處理onhide狀態,那么該如何實現每次場景值為1001時,進入小程序主界面可以刷新界面呢? 這里我是采用了在app.js文件中設置一個全局變量scene用來記錄首頁頁面狀態,初始值設為1,即用戶進入首頁后 scene = 1。如果用戶點擊跳轉到其它頁面,如A,則在首頁的 onhide函數中將其減一 scene -= 1,此時說明首頁被隱藏處于 onhide狀態;當用戶從A返回到首頁后則將scene加一 scene += 1,此時說明首頁處于 onShow狀態。這樣處理之后,每次小程序頁面跳轉都會進行一次減一加一操作,然后保證首頁狀態在頁面跳轉時始終為1。然而,當用戶點擊返回退出小程序首頁后,scene等于0,則說明此時用戶已經退出,小程序在后臺運行。 然后,在首頁的onShow函數中判斷 scene,如果 scene值為0時,則刷新小程序,設置相關data為初始值,重新從數據庫獲取。
scene狀態值 說明 部分代碼首頁.js
跳轉界面.js
|