您好,登錄后才能下訂單哦!
這篇文章主要介紹了微信小程序開發中App()和Page()函數有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一,App()
用來注冊一個小程序。在小程序啟動的時候調用,并創建小程序,直到銷毀。在整個小程序的生命周期過程中,它都是存在的。很顯然它是單例的,全局的。所以,
1)只能在app.js中注冊一次。
2)在代碼的任何地方都可以通過 getApp() 獲取這個唯一的小程序單例,
比如 var appInstance = getApp();
App()的參數是 object 類型 {} ,指定了小程序的聲明周期函數。
onLaunch 函數
監聽小程序初始化。
當小程序初始化完成時,會觸發 onLaunch(全局只觸發一次)。
onShow 函數
監聽小程序顯示。
當小程序啟動,或從后臺進入前臺顯示,會觸發。
onHide 函數
監聽小程序隱藏。
當小程序從前臺進入后臺,會觸發。
所謂前后臺的定義,類似于手機上的app,比如當不在使用微信時,就進入了后臺。
globalData 對象
全局數據。
代碼和日志參考,如下動圖:
二、Page()函數
通過App()注冊完成小程序之后,框架就開始注冊頁面。所以不要在App()的 onLaunch 中調用 getCurrentPage() 方法,因為此時頁面還沒有注冊完成。
同樣的Page()也是有生命周期的。當頁面注冊完成之后,可以在 page.js 文件中調用 getCurrentPage() 方法,獲取當前頁面對象。
2.1,Page()的參數也是Object類型。
onLoad
監聽頁面加載
頁面剛開始加載的時候觸發。只會調用一次。
onReady
監聽頁面初次渲染完成
類似于html的 onReady。只會調用一次。
onShow
監聽頁面顯示
頁面顯示的時候觸發,比如頁面切換
onHide
監聽頁面隱藏
和onShow對應
onUnload
監聽頁面卸載
在 redirectTo 或 navigateBack 的時候調用
onPullDownRefresh
監聽用戶下拉動
1)需要在config的window選項中開啟enablePullDownRefresh。
2)當處理完數據刷新后,wx.stopPullDownRefresh 可以停止當前頁面的下拉刷新。
onReachBottom
頁面上拉觸底事件的處理函數
data
頁面的初始數據
2.2,Page.prototype.setData()
Page的函數 setData() 用于頁面初始數據data的修改。如果該數據綁定到了視圖層wxml中展示,那么無須刷新,視圖層就會反映出修改。
對于data的修改,只能使用 setData() ,不能直接通過 this.data 進行修改。數據量限制在 1024 kb以內。
2.3,getCurrentPages()
,獲取當前頁面棧的實例,以數組形式按棧的順序給出,第一個元素為首頁,最后一個元素為當前頁面。
2.4,案例動圖
三、頁面棧
框架以棧的形式維護了當前的所有頁面。 當發生路由切換的時候,頁面棧的表現如下:
路由方式 | 頁面棧表現 |
初始化 | 新頁面入棧 |
打開新頁面 | 新頁面入棧 |
頁面重定向 | 當前頁面出棧, 新頁面入棧 |
頁面返回 | 頁面不斷出棧,直到目標返回頁面, 新頁面入棧 |
Tab 切換 | 當前頁面出棧, 新頁面入棧 |
四、生命周期
下圖說明了 Page 實例的生命周期。
五,頁面路由
路由方式 | 路由后頁面 | 路由前頁面 |
初始化 | onLoad, onShow | |
打開新頁面 | onLoad, onShow | onHide |
頁面重定向 | onLoad, onShow | onUnload |
頁面返回 | onShow | onUnload(多層頁面返回每個頁面都會按順序觸發onUnload) |
Tab 切換 | 第一次打開 onLoad,onshow; 否則 onShow | onHide |
感謝你能夠認真閱讀完這篇文章,希望小編分享的“微信小程序開發中App()和Page()函數有什么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。