1. 程式人生 > >微信小程式(1)生命週期

微信小程式(1)生命週期

一. 小程式App的事件

  • 演示一個小程式生命週期的例子,需要注意的是小程式app的生命週期要與頁面的生命週期區分,因為每個頁面都有相應的生命週期,類似於下面app的生命週期裡的方法之外,也會有頁面特有的方法,例如onLoad以及onUnload方法等,這裡就不一一列舉了。
  • 列舉

屬性 型別 描述 觸發時機
onLaunch Function 生命週期回撥—監聽小程式初始化 小程式初始化完成時(全域性只觸發一次)
onShow
Function 生命週期回撥—監聽小程式顯示 小程式啟動,或從後臺進入前臺顯示時
onHide Function 生命週期回撥—監聽小程式隱藏 小程式從前臺進入後臺時
onError Function 錯誤監聽函式 小程式發生指令碼錯誤,或者 api 呼叫失敗時觸發,會帶上錯誤資訊
onPageNotFound Function 頁面不存在監聽函式 小程式要開啟的頁面不存在時觸發,會帶上頁面資訊回撥該函式
其他 Any

開發者可以新增任意的函式或資料到 Object 引數中,用 this 可以訪問

 
  • 用法例項

//app.js
App({
  onLaunch: function (options) {
    console.log("觸發啟動事件")
  },
  onShow: function (options) {
    console.log("觸發顯示事件")
  },
  onHide: function () {
    console.log("觸發隱藏事件")
  },
  onError: function (msg) {
    console.log("觸發錯誤異常事件")
  },
  globalData: 'I am global data',
  //準備需要被呼叫的全域性變數
  courseName:"變換之後的問字"
})

如何呼叫全域性變數:

//index.js
//獲取應用例項
const app = getApp()

Page({
  //本地物件data
  data: {
    motto: '繫結一個初始資料'
  },
  onLoad:function (){
    var appInstance = getApp()//1.獲取到全域性物件app
    //2.data是本地物件 所以有get set方法
    this.setData({
      //3.在set方法中給本地物件中的變數重新賦值 
      motto: appInstance.courseName //4.使用獲取到的全域性變數賦值 
     
    })
  }
})