搜索
首页微信小程序小程序开发小程序中生命周期的解析(附代码)

小程序中生命周期的解析(附代码)

Aug 10, 2018 pm 03:32 PM
微信小程序生命周期

本篇文章给大家带来的内容是关于小程序中生命周期的解析(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

首先,我们来思考:当我们点击屏幕或者做滑动屏幕的类似的触发事件时,界面为什么会做出相应的变化呢?

原因是 :  整个小程序应用有2个线程.

  • 一个线程做视图渲染.

  • 一个线程做逻辑处理.
    这样你差不多应该清楚了 : wxml和wxss文件主要做视图展示,而js文件主要是做响应事件的逻辑处理,分工明确!

其次,我们再来分析:我们使用小程序会发现有很多的页面,那么谁来管理这些页面呢?页面和整个程序之间又是个什么样儿的关系呢?

  • [x] 一个app,有app和pages构成,有着不同的生命周期

  • app
    一个程序启动后,执行onLaunch—>onShow

App({
  onLaunch: function () {
  },
  onShow: function (options) {
  },
  onHide: function () {
  },
  onError: function (msg) {
  }
})
  • pages
    一个程序启动后,执行onLaunch—>onShow后,接着加载首页;加载首页onLoad—>onShow—>onReady

Page({
  data: {
  },
  onLoad: function (options) {
  },
  onReady: function () {
  },
  onShow: function () {
  },
  onHide: function () {
  },
  onUnload: function () {
  },
  onPullDownRefresh: function () {
  },
  onReachBottom: function () { 
  },
  onShareAppMessage: function () {
  }
})

此时,你已经看到了渲染好的首页了!

如果此时,你想看下你的帅帅的或者美美的自拍照,按下了Home键或者点击了右上角的退出小圆圈,此时小程序发生了什么呢?
 - 首页加载 onLaunch—>onShow—>onLoad—>onShow—>onReady  加载完成
 - 执行退出,小程序其实是执行了onHide(page的onHide)—>onHide(app的onHide)
 如果你欣赏完自拍照后,你又想起了刚才的小程序,又感兴趣想瞅瞅,咋办呢?打开呗!打开之后,想想小程序会做什么呢?难道重新加载么?
 - NO NO NO!如果你的自拍欣赏时间不是很长,或者内存十分足够小程序呆一会的话,小程序只需要被唤醒一下就好喽!^.^
 - onLaunch—>onShow—>onLoad—>onShow—>onReady—>onHide(page)—>onHide(app)这是刚才加载好首页,又退出后的生命线,此时如果你又进来了,那么程序将会这样走:onShow(app)—>onShow(page)

这个时候,对于一个页面的基本加载,应该没啥问题了吧

没啥问题,咱就直接上进阶干货了

  1. 打开新的页面[新页面入栈]

  • 原来页面:onHide

  • 新的页面:onLoad—>onShow—>onReady

  • 页面重定向[原页面出栈,新页面入栈]

    • 原来页面:onUnload

    • 新的页面:onLoad—>onShow—>onReady

  • 页面返回[新页面出栈,显示原页面]

    • 新的页面:onUnload

    • 原来页面:onShow

  • Tab切换

    • 新的页面:onHide

    • 原来页面: 情景1(已加载):onShow   情景2(未加载):onLoad—>onShow—>onReady

    相关推荐:

    小程序实现自动加载的完整代码

    微信小程序实例:如何实现跑马灯的动画效果(附代码)

    以上是小程序中生命周期的解析(附代码)的详细内容。更多信息请关注PHP中文网其他相关文章!

    声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    Video Face Swap

    Video Face Swap

    使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

    热工具

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    Dreamweaver CS6

    Dreamweaver CS6

    视觉化网页开发工具

    安全考试浏览器

    安全考试浏览器

    Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

    螳螂BT

    螳螂BT

    Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

    SublimeText3 英文版

    SublimeText3 英文版

    推荐:为Win版本,支持代码提示!