微信小程序生命周期、頁面生命周期、組件生命周期


1. 生命周期 App(全局)

位置:項目根目錄app.js文件


App({
  onLaunch (options) {
    // 
    console.log('小程序初始化')

  },
  onShow(options) {
    console.log('監聽小程序啟動或切前台')
  },
  onHide() {
    console.log('監聽小程序切后台')
  },

  onError(msg) {
    console.log('錯誤監聽函數')
  },
  onPageNotFound(res) {
    console.log('小程序要打開的頁面不存在時觸發');
    wx.redirectTo({ // 重定向
      url: 'pages/...'
    }) // 如果是 tabbar 頁面,請使用 wx.switchTab
  }
  
})


2. 頁面生命周期


// pages/a.js
Page({

  /**
   * 頁面的初始數據
   */
  data: {

  },
 /*頁面生命周期*/
 onReady: function () {
    console.log('監聽頁面初次渲染完成')

  },
  onShow: function () {
    console.log('監聽頁面顯示')
  },
  onHide: function () {
    console.log('監聽頁面隱藏')

  },
  onUnload: function () {
    console.log('監聽頁面卸載')
  },

  /**
   * 頁面相關事件處理函數--監聽用戶下拉動作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 頁面上拉觸底事件的處理函數
   */
  onReachBottom: function () {

  },

  /**
   * 用戶點擊右上角分享
   */
  onShareAppMessage: function () {

  }
})

3. 組件生命周期


// pages/myComponent.js
Component({
  /**
   * 組件的屬性列表
   */
  properties: {

  },

  /**
   * 組件的初始數據
   */
  data: {

  },

  /**
   * 組件的方法列表
   */
  methods: {

  },

  /*組件生命周期*/ 
  lifetimes: {
    created() {
      console.log("在組件實例剛剛被創建時執行")
    },
    attached() { 
      console.log("在組件實例進入頁面節點樹時執行")
    },
    ready() {
      console.log("在組件在視圖層布局完成后執行")
    },
    moved() {
      console.log("在組件實例被移動到節點樹另一個位置時執行")
    },
    detached() {
      console.log("在組件實例被從頁面節點樹移除時執行")
    },
    error() {
      console.log("每當組件方法拋出錯誤時執行")
    },
    /*組件所在頁面的生命周期 */
    pageLifetimes: {
      show: function () {
        // 頁面被展示
        console.log("頁面被展示")
      },
      hide: function () {
        // 頁面被隱藏
        console.log("頁面被隱藏")
      },
      resize: function (size) {
        // 頁面尺寸變化
        console.log("頁面尺寸變化")
      }
    }
   
  }
 
})




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM