溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序開發(fā)中App()和Page()函數(shù)有什么用

發(fā)布時間:2021-03-10 13:46:56 來源:億速云 閱讀:612 作者:小新 欄目:移動開發(fā)

這篇文章主要介紹了微信小程序開發(fā)中App()和Page()函數(shù)有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一,App()

用來注冊一個小程序。在小程序啟動的時候調(diào)用,并創(chuàng)建小程序,直到銷毀。在整個小程序的生命周期過程中,它都是存在的。很顯然它是單例的,全局的。所以,

1)只能在app.js中注冊一次。

2)在代碼的任何地方都可以通過 getApp() 獲取這個唯一的小程序單例,

比如 var appInstance = getApp();

App()的參數(shù)是 object 類型 {} ,指定了小程序的聲明周期函數(shù)。

onLaunch 函數(shù)

監(jiān)聽小程序初始化。

當(dāng)小程序初始化完成時,會觸發(fā) onLaunch(全局只觸發(fā)一次)。

onShow 函數(shù)

監(jiān)聽小程序顯示。

當(dāng)小程序啟動,或從后臺進入前臺顯示,會觸發(fā)。

onHide 函數(shù)  

監(jiān)聽小程序隱藏。

當(dāng)小程序從前臺進入后臺,會觸發(fā)。

所謂前后臺的定義,類似于手機上的app,比如當(dāng)不在使用微信時,就進入了后臺。

globalData 對象

全局數(shù)據(jù)。

代碼和日志參考,如下動圖:

微信小程序開發(fā)中App()和Page()函數(shù)有什么用

二、Page()函數(shù)

通過App()注冊完成小程序之后,框架就開始注冊頁面。所以不要在App()的 onLaunch 中調(diào)用 getCurrentPage() 方法,因為此時頁面還沒有注冊完成。

同樣的Page()也是有生命周期的。當(dāng)頁面注冊完成之后,可以在 page.js 文件中調(diào)用 getCurrentPage() 方法,獲取當(dāng)前頁面對象。

2.1,Page()的參數(shù)也是Object類型。
onLoad  
監(jiān)聽頁面加載

頁面剛開始加載的時候觸發(fā)。只會調(diào)用一次。

onReady
監(jiān)聽頁面初次渲染完成

類似于html的 onReady。只會調(diào)用一次。

onShow  
監(jiān)聽頁面顯示

頁面顯示的時候觸發(fā),比如頁面切換

onHide
監(jiān)聽頁面隱藏

和onShow對應(yīng)

onUnload    
監(jiān)聽頁面卸載

在 redirectTo 或 navigateBack 的時候調(diào)用

onPullDownRefresh  
監(jiān)聽用戶下拉動

1)需要在config的window選項中開啟enablePullDownRefresh。
2)當(dāng)處理完數(shù)據(jù)刷新后,wx.stopPullDownRefresh 可以停止當(dāng)前頁面的下拉刷新。

onReachBottom  
頁面上拉觸底事件的處理函數(shù)

data

頁面的初始數(shù)據(jù)

2.2,Page.prototype.setData()

Page的函數(shù) setData() 用于頁面初始數(shù)據(jù)data的修改。如果該數(shù)據(jù)綁定到了視圖層wxml中展示,那么無須刷新,視圖層就會反映出修改。

對于data的修改,只能使用 setData() ,不能直接通過 this.data 進行修改。數(shù)據(jù)量限制在 1024 kb以內(nèi)。

2.3,getCurrentPages()
,獲取當(dāng)前頁面棧的實例,以數(shù)組形式按棧的順序給出,第一個元素為首頁,最后一個元素為當(dāng)前頁面。

2.4,案例動圖


微信小程序開發(fā)中App()和Page()函數(shù)有什么用

三、頁面棧

框架以棧的形式維護了當(dāng)前的所有頁面。 當(dāng)發(fā)生路由切換的時候,頁面棧的表現(xiàn)如下:

路由方式    

頁面棧表現(xiàn)

初始化

新頁面入棧

打開新頁面

新頁面入棧

頁面重定向


當(dāng)前頁面出棧,

新頁面入棧

頁面返回


頁面不斷出棧,直到目標(biāo)返回頁面,

新頁面入棧

Tab 切換


當(dāng)前頁面出棧,

新頁面入棧

四、生命周期
下圖說明了 Page 實例的生命周期。

微信小程序開發(fā)中App()和Page()函數(shù)有什么用

五,頁面路由

路由方式

路由后頁面

路由前頁面

初始化


onLoad,

onShow


打開新頁面


onLoad,

onShow

onHide

頁面重定向


onLoad,

onShow

onUnload

頁面返回

onShow

onUnload(多層頁面返回每個頁面都會按順序觸發(fā)onUnload)

Tab 切換


第一次打開

onLoad,onshow;

否則 onShow

onHide

感謝你能夠認真閱讀完這篇文章,希望小編分享的“微信小程序開發(fā)中App()和Page()函數(shù)有什么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI