• 技术文章 >微信小程序 >小程序开发

    一起聊聊微信小程序中的生命周期(函数)

    青灯夜游青灯夜游2021-11-01 10:24:38转载511
    本篇文章带大家一起看看微信小程序中的生命周期,都有哪些生命周期函数,来聊一聊其从触发时机及其所做的事情,希望对大家有所帮助!

    一、生命周期

    1. 什么是生命周期?

    生命周期 (Life Cycle) 是指一个对象从 创建 -> 运行 -> 销毁 的整个阶段,强调的是一个时间段

    2. 小程序的生命周期

    3. 小程序生命周期分类

    1.png

    二、生命周期函数

    1. 什么是生命周期函数?

    2. 应用的生命周期函数

    代码如下(示例):

    App({
    
      /**
       * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
       */
      onLaunch: function () { },
    
      /**
       * 当小程序启动,或从后台进入前台显示,会触发 onShow
       */
      onShow: function (options) { },
    
      /**
       * 当小程序从前台进入后台,会触发 onHide
       */
      onHide: function () { },
    
      /**
       * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
       */
      onError: function (msg) { }
    })

    3. 页面的生命周期

    代码如下(示例):

    //index.js
    //获取应用实例
    const app = getApp()
    
    Page({
    
      /**
       * 页面的初始数据
       */
      data: { },
    
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) { },
    
      /**
       * 生命周期函数--监听页面初次渲染完成
       */
      onReady: function () { },
    
      /**
       * 生命周期函数--监听页面显示
       */
      onShow: function () { },
    
      /**
       * 生命周期函数--监听页面隐藏
       */
      onHide: function () { },
    
      /**
       * 生命周期函数--监听页面卸载
       */
      onUnload: function () { },
    
      /**
       * 页面相关事件处理函数--监听用户下拉动作
       */
      onPullDownRefresh: function () { },
    
      /**
       * 页面上拉触底事件的处理函数
       */
      onReachBottom: function () { },
    
      /**
       * 用户点击右上角分享
       */
      onShareAppMessage: function () { }
    })

    4. 组件的全部生命周期

    组件有哪些生命周期?分别是什么时候?

    生命周期参数描述
    created在组件实例刚刚被创建时执行
    attached在组件实例进入页面节点树时执行
    ready在组件在视图层布局完成后执行
    moved在组件实例被移动到节点树另一个位置时执行
    detached在组件实例被从页面节点树移除时执行
    errorObject Error每当组件方法抛出错误时执行

    5. 组件主要的生命周期函数

    data在哪个生命周期中初始化完毕?

    组件的生命周期,指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。

    最重要的生命周期是 created, attached, detached ,包含一个组件实例生命流程的最主要时间点。

    6. lifetimes 节点

    同时以两种方式声明生命周期函数,会执行哪个?

    生命周期方法可以直接定义在 Component 构造器的第一级参数中,组件的的生命周期也可以在 lifetimes 字段内进行声明(这是推荐的方式,其优先级最高)

    lifetimes: {
      attached () {
        console.log('在组件实例进入页面节点树')
      },
      detached () {
        console.log('在组件实例被从页面节点树移除')
      }
    },
    
    attached () {
      console.log('~~~~~在组件实例进入页面节点树')
    },
    detached () {
      console.log('~~~~~在组件实例被从页面节点树移除')
    },
    
    /**
     * 组件的初始数据
     */
    data: {
      // rgb 的颜色值对象
      _rgb: {
        r: 0,
        g: 0,
        b: 0
      },
      // 根据 rgb 对象的三个属性,动态计算 fullColor 的值
      fullColor: '0, 0, 0'
    }

    更多编程相关知识,请访问:编程入门!!

    以上就是一起聊聊微信小程序中的生命周期(函数)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:掘金社区,如有侵犯,请联系admin@php.cn删除
    上一篇:小程序Vant组件怎么将默认样式单位px转为rpx 下一篇:浅析小程序中的插槽、父子组件通讯的几种方式
    Web大前端开发直播班

    相关文章推荐

    • 聊聊小程序与App间怎么进行跳转• 带大家聊聊小程序中的几种页面传参方式• 浅谈小程序中下拉刷新和上拉加载功能怎么实现?(附代码)• 手把手带你在小程序中实现保存图片组件功能• 浅谈小程序中怎么创建页面二维码• 小程序Vant组件怎么将默认样式单位px转为rpx

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网