1. 程式人生 > >微信小程序中的不同場景,不同的判斷,請求的時機

微信小程序中的不同場景,不同的判斷,請求的時機

滾動 解決 不同 利用 png 就會 自由 bug onload

本來5月1之前就想寫一下一篇關於小程序不同場景下發送ajax請求的問題,但是放假的前一天,出了個大bug,就是因為我修改不同的場景下執行不同的邏輯造成的

1、首先,在小程序裏,微信做了很多的緩存,我們可以很好的利用這些緩存,比如,兩個tab頁面,我自由切換的情況下,緩存會記錄我的滾動狀態,切換狀態,頁面裏radio的狀態,總之所有的狀態都會記錄下來。

2、但是我們每次退出小程序後再次進來時,要求得重新刷新數據,這樣的話,很自然就想到onshow鉤子了,在onshow裏,頁面每次進來時都會調用,但是請求如何寫到這個鉤子裏,就會每次都切換tab時重新請求數據,我原來的緩存也用不了了,這樣很影響性能,其實每次進來的時候,微信小程序裏會先走到app.js裏,裏面也有onshow鉤子,但是之後的所有操作都不會走入這個鉤子裏,這就解決了一個很重要的性能問題,每次我進入小程序裏請求數據,而不是每次進入頁面請求,這樣的話我也不用填onload裏的坑了

3、思路很明確了,邏輯分層,解決問題,app.js作為整個應用層面的邏輯層,負責數據的請求和存儲,在頁面內,負責數據的修改和頁面特效的切換,場景的話,利用app.js裏的鉤子可以很好的區分。

4、做了一個簡單的流程圖

技術分享圖片

微信小程序中的不同場景,不同的判斷,請求的時機