微信小程序开发宝典:1微信小程序生命周期

微信小程序开发宝典:1微信小程序生命周期

参考文档:微信开放文档

一、App下的生命周期:

1、onLaunch:初始化完成时触发,只触发一次

例子:

onLaunch: function () {
    console.log('初始化完成-只触发一次');
  }

编译结果:

输出结果

2、onShow / onHide:从后台进入前台触发/从前台进入后台时触发

例子:

onShow: function (options) {
    console.log('从后台进入前台触发');
  },
  onHide: function () {
    console.log('从前台进入后台触发');
  },

(在前台前台进入后后台时可以利用微信开发者工具中的模拟器上方有一个圆圈,点击即可从前台进入后台的测试)

前台进入后台提示

结果展示

二、page下的生命周期

1、onLoad:页面加载时触发

例子:

  onLoad: function (options) {
    console.log("加载中...");
  },

2、onReady:初次渲染完成时触发

例子:

  onReady: function () {
    console.log('初次渲染');
  },

3、onShow: 页面显示时触发

例子:

  onShow: function () {
    console.log('页面显示');
  },

初次渲染与页面显示的结果

4、onHide:页面隐藏时触发

例子:

  onHide: function () {
    console.log('页面隐藏');
  },

(在测试页面隐藏时我们需要点击模拟器上的圆圈这样可以隐藏页面)

页面隐藏测试

5、onShareAppMessage:用户分享时触发

例子:

  onShareAppMessage: function () {
    console.log('分享+1');
  }

(需要点击微信小程序上的三个小点的标志并点击分享给好友触发,值得注意的是他在点击玩分享给好友就触发了,并没有实际分享出去的话也一样触发)

分享测试

触发结果

如上图所示,在为发送出去时已经触发,用户一样可以点取消进行不分享,但却触发分享功能

三、全局方法的调用

1、在App中调用:在App中定义一个全局方法object,直接使用this调用即可

测试:

App({

  /**
   * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
   */
  onLaunch: function () {
    console.log('初始化完成-只触发一次' + this.object.info);
  },

  /**
   * 当小程序启动,或从后台进入前台显示,会触发 onShow
   */
  onShow: function (options) {
    console.log('从后台进入前台触发');
  },

  /**
   * 当小程序从前台进入后台,会触发 onHide
   */
  onHide: function () {
    console.log('从前台进入后台触发');
  },

  /**
   * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
   */
  onError: function (msg) {

  },
  /** 
   * 自定义全局方法
   */
  object: {
    info: '全局方法'
  }
})

触发结果

2、在Page(页面)中调用,则需要使用getApp()来获取App中的函数。

例子:

// 获取app实例
const appInst = getApp();
Page({

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

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log("加载中..." + appInst.object.info);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    console.log('初次渲染');
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    console.log('页面显示');
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    console.log('页面隐藏');
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    console.log('页面卸载');
  },

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

  },

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

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    console.log('分享+1');
  }
})

结果:
页面全局属性使用

感谢大家看到这里,如果觉得我写得好的话麻烦大家给我一个👍,谢谢大家拉~(^ _ ^)∠※

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值