zoukankan      html  css  js  c++  java
  • 浅谈微信小程序生命周期

      之前在做微信小程序的时候,一直对生命周期里面的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 set()、len()、type()、保留小数、EOFError
    代码学习与感悟
    你的代码的风格
    python 面向对象的类
    ubuntu 上下左右键变成ABCD
    python运算符
    python 数据类型详解
    python关键字
    python 设计及调试的一些小技巧
    python-list
  • 原文地址:https://www.cnblogs.com/gitByLegend/p/11435399.html
Copyright © 2011-2022 走看看