一,App()
用來注冊(cè)一個(gè)小程序。在小程序啟動(dòng)的時(shí)候調(diào)用,并創(chuàng)建小程序,直到銷毀。在整個(gè)小程序的生命周期過程中,它都是存在的。很顯然它是單例的,全局的。所以,
1)只能在app.js中注冊(cè)一次。
2)在代碼的任何地方都可以通過 getApp() 獲取這個(gè)唯一的小程序單例,
比如 var appInstance = getApp();
App()的參數(shù)是 object 類型 {} ,指定了小程序的聲明周期函數(shù)。
onLaunch 函數(shù)
監(jiān)聽小程序初始化。
當(dāng)小程序初始化完成時(shí),會(huì)觸發(fā) onLaunch(全局只觸發(fā)一次)。
onShow 函數(shù)
監(jiān)聽小程序顯示。
當(dāng)小程序啟動(dòng),或從后臺(tái)進(jìn)入前臺(tái)顯示,會(huì)觸發(fā)。
onHide 函數(shù)??
監(jiān)聽小程序隱藏。
當(dāng)小程序從前臺(tái)進(jìn)入后臺(tái),會(huì)觸發(fā)。
所謂前后臺(tái)的定義,類似于手機(jī)上的app,比如當(dāng)不在使用微信時(shí),就進(jìn)入了后臺(tái)。
globalData 對(duì)象
全局?jǐn)?shù)據(jù)。
代碼和日志參考,如下動(dòng)圖:
二、Page()函數(shù)
通過App()注冊(cè)完成小程序之后,框架就開始注冊(cè)頁(yè)面。所以不要在App()的 onLaunch 中調(diào)用 getCurrentPage() 方法,因?yàn)榇藭r(shí)頁(yè)面還沒有注冊(cè)完成。
同樣的Page()也是有生命周期的。當(dāng)頁(yè)面注冊(cè)完成之后,可以在 page.js 文件中調(diào)用 getCurrentPage() 方法,獲取當(dāng)前頁(yè)面對(duì)象。
2.1,Page()的參數(shù)也是Object類型。
onLoad??
監(jiān)聽頁(yè)面加載
頁(yè)面剛開始加載的時(shí)候觸發(fā)。只會(huì)調(diào)用一次。
onReady
監(jiān)聽頁(yè)面初次渲染完成
類似于html的 onReady。只會(huì)調(diào)用一次。
onShow??
監(jiān)聽頁(yè)面顯示
頁(yè)面顯示的時(shí)候觸發(fā),比如頁(yè)面切換
onHide
監(jiān)聽頁(yè)面隱藏
和onShow對(duì)應(yīng)
onUnload????
監(jiān)聽頁(yè)面卸載
在 redirectTo 或 navigateBack 的時(shí)候調(diào)用
onPullDownRefresh? ?
監(jiān)聽用戶下拉動(dòng)
1)需要在config的window選項(xiàng)中開啟enablePullDownRefresh。
2)當(dāng)處理完數(shù)據(jù)刷新后,wx.stopPullDownRefresh 可以停止當(dāng)前頁(yè)面的下拉刷新。
onReachBottom ??
頁(yè)面上拉觸底事件的處理函數(shù)
data
頁(yè)面的初始數(shù)據(jù)
2.2,Page.prototype.setData()
Page的函數(shù) setData() 用于頁(yè)面初始數(shù)據(jù)data的修改。如果該數(shù)據(jù)綁定到了視圖層wxml中展示,那么無須刷新,視圖層就會(huì)反映出修改。
對(duì)于data的修改,只能使用 setData() ,不能直接通過 this.data 進(jìn)行修改。數(shù)據(jù)量限制在 1024 kb以內(nèi)。
2.3,getCurrentPages()
,獲取當(dāng)前頁(yè)面棧的實(shí)例,以數(shù)組形式按棧的順序給出,第一個(gè)元素為首頁(yè),最后一個(gè)元素為當(dāng)前頁(yè)面。
2.4,案例動(dòng)圖
三、頁(yè)面棧
框架以棧的形式維護(hù)了當(dāng)前的所有頁(yè)面。 當(dāng)發(fā)生路由切換的時(shí)候,頁(yè)面棧的表現(xiàn)如下:
路由方式? ? | 頁(yè)面棧表現(xiàn) |
初始化 |
新頁(yè)面入棧 |
打開新頁(yè)面 |
新頁(yè)面入棧 |
頁(yè)面重定向 |
當(dāng)前頁(yè)面出棧, 新頁(yè)面入棧 |
頁(yè)面返回 |
頁(yè)面不斷出棧,直到目標(biāo)返回頁(yè)面, 新頁(yè)面入棧 |
Tab 切換 |
當(dāng)前頁(yè)面出棧, 新頁(yè)面入棧 |
四、生命周期
下圖說明了 Page 實(shí)例的生命周期。
五,頁(yè)面路由
路由方式 | 路由后頁(yè)面 |
路由前頁(yè)面 |
初始化 |
onLoad, onShow |
|
打開新頁(yè)面 |
onLoad, onShow |
onHide |
頁(yè)面重定向 |
onLoad, onShow |
onUnload |
頁(yè)面返回 |
onShow |
onUnload(多層頁(yè)面返回每個(gè)頁(yè)面都會(huì)按順序觸發(fā)onUnload) |
Tab 切換 |
第一次打開 onLoad,onshow; 否則 onShow |
onHide |
更多微信小程序開發(fā)教程-App()和Page()函數(shù)概述相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

閑魚官方微信小程序悄然上線,在小程序中可以發(fā)布閑置與買家/賣家私信交流、查看個(gè)人資料及訂單、搜索物品等,有用好奇閑魚微信小程序叫什么,現(xiàn)在快來看一下。閑魚微信小程序叫什么答案:閑魚,閑置交易二手買賣估價(jià)回收。1、在小程序中可以發(fā)布閑置、與買家/賣家私信交流、查看個(gè)人資料及訂單、搜索指定物品等功能;2、在小程序的頁(yè)面中有首頁(yè)、附近、發(fā)閑置、消息、我的5項(xiàng)功能;3、想要使用的話必要要開通微信支付才可以購(gòu)買;

實(shí)現(xiàn)微信小程序中的圖片濾鏡效果隨著社交媒體應(yīng)用的流行,人們?cè)絹碓较矚g在照片中應(yīng)用濾鏡效果,以增強(qiáng)照片的藝術(shù)效果和吸引力。在微信小程序中也可以實(shí)現(xiàn)圖片濾鏡效果,為用戶提供更多有趣和創(chuàng)造性的照片編輯功能。本文將介紹如何在微信小程序中實(shí)現(xiàn)圖片濾鏡效果,并提供具體的代碼示例。首先,我們需要在微信小程序中使用canvas組件來加載和編輯圖片。canvas組件可以在頁(yè)面

實(shí)現(xiàn)微信小程序中的下拉菜單效果,需要具體代碼示例隨著移動(dòng)互聯(lián)網(wǎng)的普及,微信小程序成為了互聯(lián)網(wǎng)開發(fā)的重要一環(huán),越來越多的人開始關(guān)注和使用微信小程序。微信小程序的開發(fā)相比傳統(tǒng)的APP開發(fā)更加簡(jiǎn)便快捷,但也需要掌握一定的開發(fā)技巧。在微信小程序的開發(fā)中,下拉菜單是一個(gè)常見的UI組件,實(shí)現(xiàn)了更好的用戶操作體驗(yàn)。本文將詳細(xì)介紹如何在微信小程序中實(shí)現(xiàn)下拉菜單效果,并提供具

閑魚官方微信小程序已經(jīng)悄然上線,它為用戶提供了一個(gè)便捷的平臺(tái),讓你可以輕松地發(fā)布和交易閑置物品。在小程序中,你可以與買家或賣家進(jìn)行私信交流,查看個(gè)人資料和訂單,以及搜索你想要的物品。那么閑魚在微信小程序中究竟叫什么呢,這篇教程攻略將為您詳細(xì)介紹,想要了解的用戶們快來跟著本文繼續(xù)閱讀吧!閑魚微信小程序叫什么答案:閑魚,閑置交易二手買賣估價(jià)回收。1、在小程序中可以發(fā)布閑置、與買家/賣家私信交流、查看個(gè)人資料及訂單、搜索指定物品等功能;2、在小程序的頁(yè)面中有首頁(yè)、附近、發(fā)閑置、消息、我的5項(xiàng)功能;3、

微信小程序?qū)崿F(xiàn)圖片上傳功能隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,微信小程序已經(jīng)成為了人們生活中不可或缺的一部分。微信小程序不僅提供了豐富的應(yīng)用場(chǎng)景,還支持開發(fā)者自定義功能,其中包括圖片上傳功能。本文將介紹如何在微信小程序中實(shí)現(xiàn)圖片上傳功能,并提供具體的代碼示例。一、前期準(zhǔn)備工作在開始編寫代碼之前,我們需要先下載并安裝微信開發(fā)者工具,并注冊(cè)成為微信開發(fā)者。同時(shí),還需要了解微信

實(shí)現(xiàn)微信小程序中的圖片旋轉(zhuǎn)效果,需要具體代碼示例微信小程序是一種輕量級(jí)的應(yīng)用程序,為用戶提供了豐富的功能和良好的用戶體驗(yàn)。在小程序中,開發(fā)者可以利用各種組件和API來實(shí)現(xiàn)各種效果。其中,圖片旋轉(zhuǎn)效果是一種常見的動(dòng)畫效果,可以為小程序增添趣味性和視覺效果。在微信小程序中實(shí)現(xiàn)圖片旋轉(zhuǎn)效果,需要使用小程序提供的動(dòng)畫API。下面是一個(gè)具體的代碼示例,展示了如何在小程

使用微信小程序?qū)崿F(xiàn)輪播圖切換效果微信小程序是一種輕量級(jí)的應(yīng)用程序,具有簡(jiǎn)單、高效的開發(fā)和使用特點(diǎn)。在微信小程序中,實(shí)現(xiàn)輪播圖切換效果是常見的需求。本文將介紹如何使用微信小程序?qū)崿F(xiàn)輪播圖切換效果,并給出具體的代碼示例。首先,在微信小程序的頁(yè)面文件中,添加一個(gè)輪播圖組件。例如,可以使用<swiper>標(biāo)簽來實(shí)現(xiàn)輪播圖的切換效果。在該組件中,可以通過b

實(shí)現(xiàn)微信小程序中的滑動(dòng)刪除功能,需要具體代碼示例隨著微信小程序的流行,開發(fā)者們?cè)陂_發(fā)過程中經(jīng)常會(huì)遇到一些常見功能的實(shí)現(xiàn)問題。其中,滑動(dòng)刪除功能是一個(gè)常見、常用的功能需求。本文將為大家詳細(xì)介紹如何在微信小程序中實(shí)現(xiàn)滑動(dòng)刪除功能,并給出具體的代碼示例。一、需求分析在微信小程序中,滑動(dòng)刪除功能的實(shí)現(xiàn)涉及到以下要點(diǎn):列表展示:要顯示可滑動(dòng)刪除的列表,每個(gè)列表項(xiàng)需要包
