小程序中的生命周期onHide和onUnload

来源:互联网 发布:左小祖咒 火葬场 知乎 编辑:程序博客网 时间:2024/06/06 11:48

onHide:监听页面的隐藏

  • 当从当前A页跳转到其他页面,那么A页面处于隐藏状态。

onUnload:监听页面的卸载

  • 当前处于A页面,点击返回按钮时,则将是A页面卸载、

利用这两个生命周期可以解决的问题:

  • 防止用户快速切换页面(A->B)。导致动态设置导航栏中的文字显示出现错误
    • 快速切换页面可能导致A页面中的数据还未返回,致使当切换到B页面的时候A数据才返回,使得导航栏显示的文字为A页面的导航栏标题。(即:A页面的导航栏标题为hello,B页面的导航栏标题为world,当快速由A->B,此时虽然在B页面,但是导航栏标题显示的是hello,而不是world)

解决方法(由A跳转到B)

  • 设置一个全局变量flag=false(在app.js中定义全局变量)
    在app.js中定义全局变量
  • 当A页面显示的时候将flag设置为false(使用【getApp().data.】访问全局变量,此处我将app=getApp())
  • 当A页面隐藏(onHide)时,将flag设置为true
  • 在A页面中的请求数据的函数里,设置当flag为true时,阻止继续请求,避免对B页面的显示造成一定的影响