這篇文章主要介紹了微信小程序開發(fā)中App()和Page()函數(shù)有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)主營畢節(jié)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,畢節(jié)h5小程序設(shè)計搭建,畢節(jié)網(wǎng)站營銷推廣歡迎畢節(jié)等地區(qū)企業(yè)咨詢一,App()
用來注冊一個小程序。在小程序啟動的時候調(diào)用,并創(chuàng)建小程序,直到銷毀。在整個小程序的生命周期過程中,它都是存在的。很顯然它是單例的,全局的。所以,
1)只能在app.js中注冊一次。
2)在代碼的任何地方都可以通過 getApp() 獲取這個的小程序單例,
比如 var appInstance = getApp();
App()的參數(shù)是 object 類型 {} ,指定了小程序的聲明周期函數(shù)。
onLaunch 函數(shù)
監(jiān)聽小程序初始化。
當小程序初始化完成時,會觸發(fā) onLaunch(全局只觸發(fā)一次)。
onShow 函數(shù)
監(jiān)聽小程序顯示。
當小程序啟動,或從后臺進入前臺顯示,會觸發(fā)。
onHide 函數(shù)
監(jiān)聽小程序隱藏。
當小程序從前臺進入后臺,會觸發(fā)。
所謂前后臺的定義,類似于手機上的app,比如當不在使用微信時,就進入了后臺。
globalData 對象
全局數(shù)據(jù)。
代碼和日志參考,如下動圖:
二、Page()函數(shù)
通過App()注冊完成小程序之后,框架就開始注冊頁面。所以不要在App()的 onLaunch 中調(diào)用 getCurrentPage() 方法,因為此時頁面還沒有注冊完成。
同樣的Page()也是有生命周期的。當頁面注冊完成之后,可以在 page.js 文件中調(diào)用 getCurrentPage() 方法,獲取當前頁面對象。
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)當處理完數(shù)據(jù)刷新后,wx.stopPullDownRefresh 可以停止當前頁面的下拉刷新。
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()
,獲取當前頁面棧的實例,以數(shù)組形式按棧的順序給出,第一個元素為首頁,最后一個元素為當前頁面。
2.4,案例動圖
三、頁面棧
框架以棧的形式維護了當前的所有頁面。 當發(fā)生路由切換的時候,頁面棧的表現(xiàn)如下:
路由方式 | 頁面棧表現(xiàn) |
初始化 | 新頁面入棧 |
打開新頁面 | 新頁面入棧 |
頁面重定向 | 當前頁面出棧, 新頁面入棧 |
頁面返回 | 頁面不斷出棧,直到目標返回頁面, 新頁面入棧 |
Tab 切換 | 當前頁面出棧, 新頁面入棧 |
四、生命周期
下圖說明了 Page 實例的生命周期。
五,頁面路由
路由方式 | 路由后頁面 | 路由前頁面 |
初始化 | onLoad, onShow | |
打開新頁面 | onLoad, onShow | onHide |
頁面重定向 | onLoad, onShow | onUnload |
頁面返回 | onShow | onUnload(多層頁面返回每個頁面都會按順序觸發(fā)onUnload) |
Tab 切換 | 第一次打開 onLoad,onshow; 否則 onShow | onHide |
感謝你能夠認真閱讀完這篇文章,希望小編分享的“微信小程序開發(fā)中App()和Page()函數(shù)有什么用”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習!