• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

小程序学习五页面路由tabbar和非tabbar的入栈和出栈

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

页面的切换,所要执行的钩子函数(生命周期函数),官网上都写得很清晰,但是onHide和onUnLoad还是有些没介绍到。所以这章主要是搞清楚这两个钩子函数,到底是在什么时候会执行,值得注意的是,当页面执行unload后,便要重新加载渲染

微信小程序有一个页面栈的概念,在这里先把它简单的理解成一个访问页面的记录,页面的出栈入栈就先暂时看为增加和删减记录。而不同的页面表现就是页面出栈和入栈

看看什么时候页面会入栈而什么时候会出栈 

根据官方文档的描述,我做了一个简单的总结

普通页面

  1.  页面出栈的时候触发onUnLoad,之后再进入这个页面就需重新加载
  2.  页面入栈的时候触发onLoad onShow onReady

tabbar页面 tabbar比较特殊,页面的onUnLoad不是由出栈入栈所决定

  1.    当页面首次进入时,会执行onLoad onShow onReady 
  2.    当页面非首次进入时 只执行onShow
  3.   即便tab切换,旧页面也不会执行onUnLoad方法(这里我刚觉有点像页面未出栈的样子,但查看当前页面栈却发现还是只有跳转后的tabbar页面一条记录)
  4.    tabbar页面只有在使用wx.reLaunch (重加载)到 一个不是自己的路由或者使用redirectTo时,才会被卸载 例如a b两个页面都是tabbar页面 c是一个普通页面,假设页面进入顺序为a->b->c,那么在c中使用wx.reLaunch跳转到a的时候 tabbar页面b会触发onUnload

注意,当页面栈只有一条记录时,wx.navigateBack无法返回


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序之列表下拉加载更多发布时间:2022-07-18
下一篇:
微信小程序之循环block/block发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap