知è˜
ä¸ç®¡æ˜¯ç¶²(wÇŽng)站,軟件還是å°ç¨‹åºï¼Œéƒ½è¦ç›´æŽ¥æˆ–間接能為您產生價值,我們在追求其視覺表ç¾(xià n)çš„åŒæ™‚,更å´é‡äºŽåŠŸèƒ½çš„ä¾¿æ·ï¼Œç‡ŸéŠ·çš„ä¾¿åˆ©ï¼Œé‹ç‡Ÿçš„高效,讓網(wÇŽng)ç«™æˆç‚ºç‡ŸéŠ·å·¥å…·ï¼Œè®“è»Ÿä»¶èƒ½åˆ‡å¯¦æå‡ä¼æ¥(yè)å…§éƒ¨ç®¡ç†æ°´å¹³å’Œæ•ˆçŽ‡ã€‚å„ª(yÅu)秀的程åºç‚ºåŽæœŸå‡ç´šæä¾›ä¾¿æ·çš„æ”¯æŒï¼
您當å‰ä½ç½®>é¦–é » æ–°èžè³‡è¨Š » å°ç¨‹åºç›¸é—œ >
微信å°ç¨‹åºé–‹ç™¼(fÄ)之詳解生命周期方法
發(fÄ)表時間:2021-3-31
發(fÄ)布人:葵宇科技
ç€è¦½æ¬¡æ•¸(shù):71
在å°ç¨‹åºä¸ ,通éŽApp()來注冊一個å°ç¨‹åº ,通éŽPage()來注冊一個é é¢
先來看一張å°ç¨‹åºé …ç›®çµæ§‹
從上圖å¯ä»¥çœ‹å‡ºï¼Œæ ¹ç›®éŒ„䏋颿œ‰åŒ…å«äº†app.js,app.wxss,app.json三個文件
這是å°ç¨‹åºçš„全局文件,app.js是å°ç¨‹åºé‚輯 ,app.json是å°ç¨‹åºå…¬å…±è¨ç½®ï¼Œapp.wxss是å°ç¨‹åºå…¬å…±æ¨£å¼è¡¨
在app.jsæ–‡ä»¶ä¸ ï¼Œ 定義了一些生命周期方法 , onLaunch,onShow,onHide,onError,以åŠä»»æ„開發(fÄ)è€…æ·»åŠ çš„å‡½æ•¸(shù)或者數(shù)據(jù)(通éŽthiså¯ä»¥è¨ªå•)
以下是å„個生命周期方法作用和æè¿°
onLaunch 生命周期函數(shù)--監(jiÄn)è½å°ç¨‹åºåˆå§‹åŒ– ç•¶å°ç¨‹åºåˆå§‹åŒ–å®Œæˆæ™‚,會觸發(fÄ) onLaunch(全局åªè§¸ç™¼(fÄ)一次)
onShow 生命周期函數(shù)--監(jiÄn)è½å°ç¨‹åºé¡¯ç¤º ç•¶å°ç¨‹åºå•Ÿå‹•,或從åŽè‡ºé€²å…¥å‰è‡ºé¡¯ç¤ºï¼Œæœƒè§¸ç™¼(fÄ) onShow
onHide 生命周期函數(shù)--監(jiÄn)è½å°ç¨‹åºéš±è— ç•¶å°ç¨‹åºå¾žå‰è‡ºé€²å…¥åŽè‡ºï¼Œæœƒè§¸ç™¼(fÄ) onHide
onError 錯誤監(jiÄn)è½å‡½æ•¸(shù) ç•¶å°ç¨‹åºç™¼(fÄ)生腳本錯誤,或者 api 調用失敗時,會觸發(fÄ) onError 并帶上錯誤信æ¯
å…¶ä»– Any 開發(fÄ)者å¯ä»¥æ·»åŠ ä»»æ„的函數(shù)或數(shù)據(jù)到 Object åƒæ•¸(shù)ä¸ï¼Œç”¨ this å¯ä»¥è¨ªå•
我們在app.js文件ä¸å®šç¾©ä»¥ä¸‹æ–¹æ³• ,并打å°å‡ºä¾†
App({
onLaunch: function (options) {
console.log("app.js ---onLaunch---" + JSON.stringify(options));
},
onShow:function(){
console.log("app.js ---onShow---");
},
onHide:function(){
console.log("app.js ---onHide---");
},
onError: function (msg){
console.log("app.js ---onError---" + msg);
},
globalData: {
userInfo: null
}
})
這是我們打開一個å°ç¨‹åºæ‰“å°å‡ºä¾†çš„一些方法
å¯ä»¥çœ‹å‡ºï¼Œ 打開程åºä¾æ¬¡åŸ·(zhÃ)行了app.js下é¢onLaunchå’ŒonShow方法,以åŠpageé é¢ä¸çš„onLoad,onShowå’ŒonReady方法
å…¶ä¸ ï¼Œ onLaunch, onShow æ–¹æ³•æœƒè¿”å›žä¸€å€‹åƒæ•¸(shù)å°è±¡ï¼Œ 里é¢åŒ…å«äº†ä¸‰å€‹åƒæ•¸(shù) , path,queryå’Œscene ,path是打開å°ç¨‹åºçš„路徑
query是打開å°ç¨‹åºé é¢urlçš„åƒæ•¸(shù),scene是打開å°ç¨‹åºçš„å ´æ™¯å€¼
æ›´å¤šå ´æ™¯å€¼å¯ä»¥æŸ¥çœ‹
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/scene.html
å°ç¨‹åºåˆ‡æ›åˆ°åŽè‡ºæœƒåŸ·(zhÃ)行以下2個方法
返回å°ç¨‹åºå‰è‡º
在pageé é¢ä¸å®šç¾©çš„生命周期方法
onLoad 生命周期函數(shù)--監(jiÄn)è½é é¢åŠ è¼‰
onReady 生命周期函數(shù)--監(jiÄn)è½é é¢åˆæ¬¡æ¸²æŸ“完æˆ
onShow 生命周期函數(shù)--監(jiÄn)è½é é¢é¡¯ç¤º
onHide 生命周期函數(shù)--監(jiÄn)è½é é¢éš±è—
onUnload 生命周期函數(shù)--監(jiÄn)è½é é¢å¸è¼‰
Page({
onLoad: function (options) {
console.log("page ---onLoad---");
},
onReady: function () {
console.log("page ---onReady---");
},
onShow: function () {
console.log("page ---onShow---");
},
onHide: function () {
console.log("page ---onHide---");
},
onUnload: function () {
console.log("page ---onUnload---");
}
})
å…¶ä¸ï¼Œæ‰“é–‹å°ç¨‹åºåŽæœƒä¾æ¬¡åŸ·(zhÃ)行onLoad,onReadyå’ŒonShow方法
å‰åŽè‡ºåˆ‡æ›æœƒåˆ†åˆ¥åŸ·(zhÃ)行onHideå’ŒonShow方法,
ç•¶å°ç¨‹åºé é¢éŠ·æ¯€æ™‚æœƒåŸ·(zhÃ)行 onUnload方法
例如,我們在details.jsä¸å®šç¾©onUnload方法
onUnload: function () {
console.log("details.js --onUnload")
},
ç•¶æˆ‘å€‘å¾žé¦–é æ‰“開一個新é é¢details.wxml,然åŽå†é—œé–‰è‘—這個é é¢
從上圖å¯ä»¥çœ‹åˆ°é é¢åŸ·(zhÃ)行了onUnload方法
å¦å¤–, å°ç¨‹åºç‚ºæˆ‘們æä¾›äº†å…¨å±€æ•¸(shù)據(jù)ç®¡ç† ï¼Œåœ¨pageé é¢ä¸é€šéŽgetApp()方法ç²å–app.js實例
例如:
我們在app.js通éŽå®šç¾©ä¸€å€‹globalData數(shù)據(jù)å°è±¡
App({
globalData: {
userInfo: null
}
})
// other.js
var appInstance = getApp()
console.log(appInstance.globalData)
注æ„:
App() å¿…é ˆåœ¨ app.js 䏿³¨å†Šï¼Œä¸”ä¸èƒ½æ³¨å†Šå¤šå€‹ã€‚
ä¸è¦åœ¨å®šç¾©äºŽ App() 內的函數(shù)ä¸èª¿ç”¨ getApp() ,使用 this å°±å¯ä»¥æ‹¿åˆ° app 實例。
ä¸è¦åœ¨ onLaunch 的時候調用 getCurrentPages()ï¼Œæ¤æ™‚ page 還沒有生æˆã€‚
é€šéŽ getApp() ç²å–實例之åŽï¼Œä¸è¦ç§è‡ªèª¿ç”¨ç”Ÿå‘½å‘¨æœŸå‡½æ•¸(shù)。
åƒè€ƒæ–‡ç«
微信å°ç¨‹åºé–‹ç™¼(fÄ)詳解(七)---微信å°ç¨‹åºAPP生命周期
相關案例查看更多
相關閱讀
- æœç´¢å¼•擎優(yÅu)化
- 軟件定制
- 云å—ç¶²(wÇŽng)站建è¨
- 云å—å°ç¨‹åºåˆ¶ä½œ
- å°ç¨‹åº
- å€(qÅ«)塊éˆ
- ç¶²(wÇŽng)站建è¨åˆ¶ä½œ
- SEO
- å ±å»¢è»Š
- web開發(fÄ)
- 出入å°ç¨‹åº
- ç¶²(wÇŽng)站建è¨å“ªå®¶å¼·
- ç¶²(wÇŽng)站建è¨å…¬å¸åœ°å€
- 云å—å°ç¨‹åºè¢«é¨™
- 制作一個å°ç¨‹åº
- 開發(fÄ)框架
- 楚雄å°ç¨‹åºé–‹ç™¼(fÄ)
- 云å—å°ç¨‹åºå…¬å¸
- æ—¥æ·çµ„ä»¶
- 跳轉å°ç¨‹åº
- æ±½è»Šå ±å»¢å›žæ”¶ç®¡ç†è»Ÿä»¶
- å ±å»¢è»Šæ‹†è§£ç³»çµ±(tÇ’ng)
- 云å—ç¶²(wÇŽng)絡公å¸
- 國內知åç¶²(wÇŽng)站建è¨å…¬å¸æŽ’å
- 云å—ç¶²(wÇŽng)站建è¨é›»è©±
- 云å—ç¶²(wÇŽng)站建è¨ä¸€æ¢é¾
- 迪慶å°ç¨‹åºé–‹ç™¼(fÄ)
- 云å—ç¶²(wÇŽng)站建è¨è²»ç”¨
- 昆明軟件定制
- 支付寶å°ç¨‹åºè¢«é¨™