• 浅谈微信小程序生命周期


      之前在做微信小程序的时候,一直对生命周期里面的onLoadonShowonUnload不是很理解。比如说什么时候会触发onUnload

      经过一段时间的测试发现,普通页面的onUnload在三种情况下会触发。

    • 某一个页面跳转到tabBar页面,根据小程序文档介绍,当跳转到tabBar页面的时候会卸载其他非tabBar页面。
    • 当前页点击回退按钮回退到上一个页面,此时当前页也会触发onUnload
    • A页面redirect跳转至某一页面,A页面触发onUnload。并且返回键跳转至A页面的上一页。

      其次是当跳转到其他非tabBar页面的时候,并且未触发onUnload,但是每次进入页面都相当于重新打开了一个页面,数据不能从data中同步。

      例如A页面为tabBar页面,B页面C页面是非tabBar页面。从A页面进入B页面,B页面执行onLoad,从B页面进入C页面,B页面并不会执行onUnload,从C页面进入A页面,B页面C页面都会执行onUnload

      又比如,从A页面进入B页面,并改变B页面的数据,从B页面进入C页面,然后从C页面进入B页面,数据还是走的之前的逻辑,因为此时我们相当于重新打开了一个B页面。但是如果此时我们通过返回操作进入B页面的话,那么B页面的数据还是之前保留下来的,因为通过返回键进入的还是之前的页面。

      onShow对应的是onHide,一个是当页面显示的时候,一个是当页面隐藏的时候。

      此时需要注意的是,当从其他页面进入当前页面的时候,onLoadonShow会依此执行,但是当使用返回键返回到当前页面的时候,只会执行onShow。

      tabBar页面的onUnload需要使用redirect触发,需要注意的是,从tabBar页面redirect进入某一页面,该页面原生返回键将被默认隐藏。

  • 相关阅读:
    Python的函数式编程: map, reduce, sorted, filter, lambda
    idea cant resolve symbo 'Table'
    idea离线下载lombok,以及lobok版本不兼容
    idea 设置author 设置黑色主题
    sbmvnmysql配置
    vue.js 接收url参数
    简单商城的数据库建表sql
    vue项目从静态页面添加后台出现的一些问题
    HTML转义字符大全
    vue dialog样式
  • 原文地址:https://www.cnblogs.com/gitByLegend/p/11435399.html
Copyright © 2020-2023  润新知