小程序頁(yè)面onload(),onready()加載順序詳解
小程序
- onLoad(Object query) 頁(yè)面加載時(shí)觸發(fā)。一個(gè)頁(yè)面只會(huì)調(diào)用一次,可以在 onLoad
- 的參數(shù)中獲取打開當(dāng)前頁(yè)面路徑中的參數(shù)。
- onShow() 頁(yè)面顯示/切入前臺(tái)時(shí)觸發(fā)。
- onReady() 頁(yè)面初次渲染完成時(shí)觸發(fā)。一個(gè)頁(yè)面只會(huì)調(diào)用一次,代表頁(yè)面已經(jīng)準(zhǔn)備妥當(dāng),可以和視圖層進(jìn)行交互。
所以加載順序是先加載onLoad,再是onShow,最后onReady
原生JS
- document.ready 表示文檔結(jié)構(gòu)加載完成(不包含圖片等非文字媒體文件);ready如果定義多個(gè),都會(huì)按渲染順序執(zhí)行。
- window.onload 包含圖片等在內(nèi)的所有元素都加載完成。但是,onload不管定義多少個(gè),只執(zhí)行一個(gè)(最后一個(gè))
所以加載順序是先加載ready,后onload,正好和小程序相反
Jquery
( d o c u m e n t ) . r e a d y ( f u n c t i o n ( ) ) , 簡(jiǎn) 寫 (document).ready(function(){}),簡(jiǎn)寫(document).ready(function()),簡(jiǎn)寫(function(){});組件生命周期
?Component({ ? ? ? ? properties:{ ? ? ? ? ? ? innerText:{ ? ? ? ? ? ? ? ? type:String ? ? ? ? ? ? } ? ? ? ? }, ? ? ? ? data:{ ? ? ? ? }, ? ? ? ? methods:{ ? ? ? ? }, ? ? ? ? created:function(){ ? ? ? ? ? ? // 組件生命周期函數(shù),在組件實(shí)例進(jìn)入頁(yè)面節(jié)點(diǎn)樹時(shí)執(zhí)行,注意此時(shí)不能調(diào)用setData ? ? ? ? ? ? console.log('Component-1 >> created'); ? ? ? ? }, ? ? ? ? attached:function(){ ? ? ? ? ? ? // 組件生命周期函數(shù),在組件實(shí)例進(jìn)入頁(yè)面節(jié)點(diǎn)樹時(shí)執(zhí)行。 ? ? ? ? ? ? console.log('Component-1 >> attached'); ? ? ? ? }, ? ? ? ? ready:function(){ ? ? ? ? ? ? // 在組件布局完成后執(zhí)行,此時(shí)可以獲取節(jié)點(diǎn)信息 ? ? ? ? ? ? console.log('Component-1 >> ready'); ? ? ? ? }, ? ? ? ? moved:function(){ ? ? ? ? ? ? // 在組件實(shí)例被移動(dòng)到節(jié)點(diǎn)樹另一個(gè)位置時(shí)執(zhí)行 ? ? ? ? ? ? console.log('Component-1 >> moved'); ? ? ? ? }, ? ? ? ? detached:function(){ ? ? ? ? ? ? // 在組件實(shí)例被從頁(yè)面節(jié)點(diǎn)樹移除時(shí)執(zhí)行 ? ? ? ? ? ? console.log('Component-1 >> detached'); ? ? ? ? }, ? ? ? ? lifetimes:{ ? ? ? ? ? ? // 組件生命周期聲明對(duì)象,將組件的生命周期收歸到該字段進(jìn)行聲明,原有聲明方式仍舊有效,如同時(shí)存在兩種聲明方式,則lifetimes字段內(nèi)聲明方式優(yōu)先級(jí)最高 ? ? ? ? ? ? created:function(){ ? ? ? ? ? ? ? ? console.log('Component-1 lifetimes >> created'); ? ? ? ? ? ? }, ? ? ? ? ? ? attached:function(){ ? ? ? ? ? ? ? ? console.log('Component-1 lifetimes >> attached'); ? ? ? ? ? ? }, ? ? ? ? ? ? ready:function(){ ? ? ? ? ? ? ? ? console.log('Component-1 lifetimes >> ready'); ? ? ? ? ? ? }, ? ? ? ? ? ? moved:function(){ ? ? ? ? ? ? ? ? console.log('Component-1 lifetimes >> moved'); ? ? ? ? ? ? }, ? ? ? ? ? ? detached:function(){ ? ? ? ? ? ? ? ? console.log('Component-1 lifetimes >> detached'); ? ? ? ? ? ? } ? ? ? ? }, ? ? ? ? pageLifetimes:{ ? ? ? ? ? ? // 組件所在頁(yè)面的生命周期聲明對(duì)象,目前僅支持頁(yè)面的show和hide兩個(gè)生命周期 ? ? ? ? ? ? show:function(){ ? ? ? ? ? ? ? ? console.log('Component-1 pageLifetimes >> Show'); ? ? ? ? ? ? }, ? ? ? ? ? ? hide:function(){ ? ? ? ? ? ? ? ? console.log('Component-1 pageLifetimes >> Hide'); ? ? ? ? ? ? } ? ? ? ? } ? ? })
可以看到組件中只執(zhí)行了lifetimes中的生命周期函數(shù),外層的生命周期函數(shù)并沒有執(zhí)行。而且可以看到先執(zhí)行組件的created/attached函數(shù),隨后執(zhí)行頁(yè)面的onLoad/onShow,再執(zhí)行組件的ready,最后執(zhí)行頁(yè)面的onReady,這是頁(yè)面中引入組件時(shí)組件的生命周期函數(shù)執(zhí)行順序。
現(xiàn)行玩所有組件的created,再執(zhí)行所有組件的attached,然后執(zhí)行頁(yè)面的onLoad和onShow,再執(zhí)行所有組件的ready,最后執(zhí)行頁(yè)面的onReady。當(dāng)頁(yè)面被卸載時(shí),先執(zhí)行頁(yè)面的onUnload,再執(zhí)行組件的detached。頁(yè)面不卸載,不會(huì)觸發(fā)組件的detached
到此這篇關(guān)于小程序頁(yè)面onload(),onready()加載順序詳解的文章就介紹到這了,更多相關(guān)小程序onload(),onready()加載順序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript實(shí)現(xiàn)京東放大鏡效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)京東放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12JavaScript函數(shù)中的防抖與節(jié)流原生實(shí)現(xiàn)及第三方庫(kù)的使用
當(dāng)你頻繁的觸發(fā)用戶界面時(shí),會(huì)不停的觸發(fā)事件處理函數(shù),可能導(dǎo)致界面卡頓,瀏覽器奔潰,頁(yè)面空白等情況,而解決這一問題的,正是函數(shù)節(jié)流與函數(shù)防抖,所以本文將給大家介紹一下JavaScript函數(shù)中的防抖與節(jié)流原生實(shí)現(xiàn)及第三方庫(kù)的使用,需要的朋友可以參考下2023-10-10javascript 數(shù)組排序與對(duì)象排序的實(shí)例
這篇文章主要介紹了javascript 數(shù)組排序與對(duì)象排序的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-07-07基于JavaScript實(shí)現(xiàn)驗(yàn)證碼功能
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)驗(yàn)證碼功能的相關(guān)資料2017-04-04JS實(shí)現(xiàn)的Unicode編碼轉(zhuǎn)換操作示例
這篇文章主要介紹了JS實(shí)現(xiàn)的Unicode編碼轉(zhuǎn)換操作,結(jié)合完整實(shí)例形式分析了javascript實(shí)現(xiàn)Unicode編碼轉(zhuǎn)換的具體操作技巧,需要的朋友可以參考下2017-04-04移動(dòng)web開發(fā)之touch事件實(shí)例詳解
下面小編就為大家分享一篇移動(dòng)web開發(fā)之touch事件實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01