搜尋
首頁微信小程式小程式開發小程式中生命週期的解析(附程式碼)

小程式中生命週期的解析(附程式碼)

Aug 10, 2018 pm 03:32 PM
微信小程式生命週期

這篇文章帶給大家的內容是關於小程式中生命週期的解析(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

首先,我們來思考:當我們點擊螢幕或做滑動螢幕的類似的觸發事件時,介面為什麼會做出相應的變化呢?

#原因是:  整個小程式應用有2個執行緒.

  • 一個執行緒做視圖渲染.

  • 一個執行緒做邏輯處理.
    這樣你差不多應該清楚了: wxml和wxss檔主要做視圖展示,而js檔主要是做響應事件的邏輯處理,分工明確!

其次,我們再來分析:我們使用小程式會發現有很多的頁面,那麼誰來管理這些頁面呢?頁面和整個程式之間又是個什麼樣兒的關係呢?

  • [x ] 一個app,有app和pages構成,有著不同的生命週期

  • app
    一個程式啟動後,執行onLaunch—>onShow

#
App({
  onLaunch: function () {
  },
  onShow: function (options) {
  },
  onHide: function () {
  },
  onError: function (msg) {
  }
})
  • pages
    一個程式啟動後,執行onLaunch—>onShow後,接著載入首頁;載入首頁onLoad—>onShow—>onReady

Page({
  data: {
  },
  onLoad: function (options) {
  },
  onReady: function () {
  },
  onShow: function () {
  },
  onHide: function () {
  },
  onUnload: function () {
  },
  onPullDownRefresh: function () {
  },
  onReachBottom: function () { 
  },
  onShareAppMessage: function () {
  }
})

此時,你已經看到了渲染好的首頁了!

如果此時,你想看下你的帥帥的或者美美的自拍照,按下了Home鍵或者點擊了右上角的退出小圓圈,此時小程式發生了什麼?
 - 首頁載入 onLaunch—>onShow—>onLoad—>onShow—>onReady  載入完成
 - 執行退出,小程式其實是執行了onHide(page的onHide)—>onHide(app的onHide)
如果你欣賞完自拍照後,你又想起了剛才的小程式,又感興趣想瞅瞅,咋辦呢?打開唄!打開之後,想想小程式會做什麼呢?難道重新加載麼?
 - NO NO NO!如果你的自拍欣賞時間不是很長,或者內存十分足夠小程序呆一會的話,小程序只需要被喚醒一下就好嘍!^.^
#  - onLaunch—>onShow—>onLoad—>onShow—>onReady—>onHide(page)—>onHide(app)這是剛才加載好首頁,又退出後的生命線,此時如果你又進來了,那麼程式將會這樣走:onShow(app)—>onShow(page)

這個時候,對於一個頁面的基本載入,應該沒啥問題了吧

#沒啥問題,咱就直接上進階乾貨了

  1. 開新的頁面[新頁入堆疊]

  • #原來頁面:onHide

  • 新的頁面:onLoad—>onShow—>onReady

  • 頁面重定向[原始頁面出棧,新頁面入棧]

    • 原來頁:onUnload

    • 新的頁面:onLoad—>onShow—> ;onReady

  • 頁面返回[新頁面出棧,顯示原始頁面]

    • 新的頁面:onUnload

    • 原來頁面:onShow

  • #Tab切換

    • 新的頁面:onHide

    • 原本頁: 情境1(已載入):onShow   情境2(未載入):onLoad—>onShow—>onReady

    ##相關推薦:

    小程式實作自動載入的完整程式碼

    #微信小程式實例:如何實作跑馬燈的動畫效果(附程式碼)######

    以上是小程式中生命週期的解析(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    強大的PHP整合開發環境

    Dreamweaver Mac版

    Dreamweaver Mac版

    視覺化網頁開發工具

    VSCode Windows 64位元 下載

    VSCode Windows 64位元 下載

    微軟推出的免費、功能強大的一款IDE編輯器

    Atom編輯器mac版下載

    Atom編輯器mac版下載

    最受歡迎的的開源編輯器

    SecLists

    SecLists

    SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。