一、onLoad
只加載一次,監聽頁面加載,其參數為上個頁面傳遞的數據,參數類型為Object(用於頁面傳參)
二、onShow
監聽頁面顯示。頁面每次出現在屏幕上都觸發,包括從下級頁面點返回露出當前頁面。
主要區別:
從二級頁面返回該頁面時,onLoad不會再次加載,而onshow會重新加載。
這點很重要:
1.如果加載列表頁,二級頁面對一級的列表頁面內容有修改,則以及列表函數應該在onShow中加載,否則可以選擇onLoad。
2.如果從一個頁面攜帶參數跳轉到另外一個頁面,在另一個頁面獲取參數的方式: onLoad(options){ console.log(options.xxx) },這些參數都掛在在options.
總結一下 1:在一些數據變化較少的時候我們用onload 2:像這些order訂單列表數據變化及時性我們用的是onshow;
總結:
- onLoad先於onShow執行
- onLoad頁面的整個生命周期里,只執行一次
- onShow頁面的整個生命周期里,可執行多次,即每次顯示都會執行
- 獲取參數並且只請求一次的事件放在 onLoad 里。
- 當前頁面需要時時刷數據的請求多次的事件放在 onShow 里。
從A頁面跳轉到B頁面后,點擊左上角返回,A頁面不會觸發onLoad。而會觸發onShow
官網生命周期:https://uniapp.dcloud.io/api/lifecycle