梳理小程序知識(十)-生命周期

data

data 是頁面第一次渲染使用的初始數(shù)據(jù)

頁面加載時,data 將會以JSON字符串的形式由邏輯層傳至渲染層,因此data中的數(shù)據(jù)必須是可以轉(zhuǎn)成JSON的類型:字符串,數(shù)字,布爾值,對象,數(shù)組。

生命周期回調(diào)函數(shù)

生命周期的觸發(fā)以及頁面的路由方式詳見

onLoad(Object query)

頁面加載時觸發(fā)。一個頁面只會調(diào)用一次,可以在 onLoad 的參數(shù)中獲取打開當(dāng)前頁面路徑中的參數(shù)。
參數(shù):

名稱 類型 說明
query Object

onShow()

頁面顯示/切入前臺時觸發(fā)。

onReady()

頁面初次渲染完成時觸發(fā)。一個頁面只會調(diào)用一次,代表頁面已經(jīng)準備妥當(dāng),可以和視圖層進行交互。

注意:對界面內(nèi)容進行設(shè)置的 API 如wx.setNavigationBarTitle,請在onReady之后進行。詳見生命周期

onHide()

頁面隱藏/切入后臺時觸發(fā)。 如 wx.navigateTo 或底部 tab 切換到其他頁面,小程序切入后臺等。

onUnload()

頁面卸載時觸發(fā)。如wx.redirectTowx.navigateBack到其他頁面時。

頁面事件處理函數(shù)

onPullDownRefresh()

監(jiān)聽用戶下拉刷新事件。

  • 需要在app.jsonwindow選項中或頁面配置中開啟enablePullDownRefresh。
  • 可以通過wx.startPullDownRefresh觸發(fā)下拉刷新,調(diào)用后觸發(fā)下拉刷新動畫,效果與用戶手動下拉刷新一致。
  • 當(dāng)處理完數(shù)據(jù)刷新后,wx.stopPullDownRefresh可以停止當(dāng)前頁面的下拉刷新。

onReachBottom()

監(jiān)聽用戶上拉觸底事件。

  • 可以在app.jsonwindow選項中或頁面配置中設(shè)置觸發(fā)距離onReachBottomDistance。
  • 在觸發(fā)距離內(nèi)滑動期間,本事件只會被觸發(fā)一次。

onPageScroll(Object object)

監(jiān)聽用戶滑動頁面事件。

參數(shù) Object object:
屬性 類型 說明
scrollTop Number 頁面在垂直方向已滾動的距離(單位px)

注意:請只在需要的時候才在 page 中定義此方法,不要定義空方法。以減少不必要的事件派發(fā)對渲染層-邏輯層通信的影響。 注意:請避免在 onPageScroll 中過于頻繁的執(zhí)行 setData 等引起邏輯層-渲染層通信的操作。尤其是每次傳輸大量數(shù)據(jù),會影響通信耗時。

onShareAppMessage(Object object)

監(jiān)聽用戶點擊頁面內(nèi)轉(zhuǎn)發(fā)按鈕(button 組件 open-type="share")或右上角菜單“轉(zhuǎn)發(fā)”按鈕的行為,并自定義轉(zhuǎn)發(fā)內(nèi)容。

注意:只有定義了此事件處理函數(shù),右上角菜單才會顯示“轉(zhuǎn)發(fā)”按鈕

參數(shù) Object object:
參數(shù)類型說明最低版本fromString轉(zhuǎn)發(fā)事件來源。
button:頁面內(nèi)轉(zhuǎn)發(fā)按鈕;
menu:右上角轉(zhuǎn)發(fā)菜單1.2.4targetObject如果 from 值是 button,則 target 是觸發(fā)這次轉(zhuǎn)發(fā)事件的 button,否則為 undefined1.2.4webViewUrlString頁面中包含web-view組件時,返回當(dāng)前web-view的url1.6.4
此事件處理函數(shù)需要 return 一個 Object,用于自定義轉(zhuǎn)發(fā)內(nèi)容,返回內(nèi)容如下:

自定義轉(zhuǎn)發(fā)內(nèi)容 基礎(chǔ)庫 2.8.1 起,分享圖支持云圖片。

字段 說明 默認值 最低版本
title 轉(zhuǎn)發(fā)標題 當(dāng)前小程序名稱
path 轉(zhuǎn)發(fā)路徑 當(dāng)前頁面 path ,必須是以 / 開頭的完整路徑
imageUrl 自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網(wǎng)絡(luò)圖片路徑。支持PNG及JPG。顯示圖片長寬比是 5:4。 使用默認截圖 1.5.0

onResize(Object object)
onTabItemTap(Object object)

PageObject[] getCurrentPages()
獲取當(dāng)前頁面棧。數(shù)組中第一個元素為首頁,最后一個元素為當(dāng)前頁面。

注意:

不要嘗試修改頁面棧,會導(dǎo)致路由以及頁面狀態(tài)錯誤。
不要在 App.onLaunch 的時候調(diào)用 getCurrentPages(),此時 page 還沒有生成。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 還有一站到換乘站,馨雅坐在雙層公交的二樓,趕緊查了下“智能公交”,剛好需要換乘的那輛超級難等幾近半小時一趟的360...
    冰清言心閱讀 202評論 0 0
  • 是金光閃閃的湖面 突然起了縠紋 而你和我正好擦肩而過 驀然回首 卻只是日落黃昏 時間,清晨;空間,偏隅 還噙著露珠...
    詩樂眾閱讀 129評論 0 2
  • 早上起來,媽媽告訴我,外面特別涼快。我下樓拿著早餐到外面涼快。風(fēng)一陣接著一陣來,看樣子像是要下雨,可不一會兒,太陽...
    書中漫步的冉閱讀 164評論 0 0

友情鏈接更多精彩內(nèi)容