微信小程序开发者程序员微信小程序(应用号)

初识小程序 - 生命周期

2018-03-23  本文已影响30人  勇敢的_心_

小程序生命周期

一个完整的小程序执行的生命周期:
app.onLaunch -> app.onShow -> page1.onLoad -> page1.onShow -> page1.onReady
(打开程序,第一个页面page1加载完成)
-> page1.onHide -> page2.onLoad ->page2.onShow -> page2.onReady
(从第一个页面新打开page2)
-> page2.onUnload -> page1.onShow ->...->app.onUnload
(关闭page2,返回page1,...退出小程序)

一个page的生命周期从onLoad事件开始,整个生命周期内onLoad、onReady、onUnload这三个事件仅执行一次,而onHide和onShow事件在每次页面隐藏和显示时都会触发。当用户手动触发左上角的退出箭头时,小程序仅触发app.onHide,下次进入小程序时会触发app.onShow以及当前page.onShow。仅当小程序在后台运行超过一定时间未被唤起、或者用户手动在小程序的控制栏里点击退出程序、或者小程序内存占用过大被关闭时,小程序将被销毁,会触发app.onUnload事件。

生命周期代码:

Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /**
   * 生命周期函数--页面启动
   */
onLaunch: function() {
     // 启动时执行的初始化工作
 },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
       // 页面加载时执行的初始化工作
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
        // 页面就续后触发执行的操作
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
        // 小程序启动或从后台进入前台时,触发执行的操作
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
        // 小程序从前台进入后台时,触发执行的操作
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
        // 页面关闭时触发执行的操作
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})

小程序线程

每个小程序分为2个线程,view与appSer-ver。

由于js不跑在WebView里,就不能直接操纵DOM和BOM,这就是小程序没有window全局变量的原因。

上一篇下一篇

猜你喜欢

热点阅读