onLoad,onReady和onShow等生命周期函数的区别和使用

小程序请求这部分,我们发现有onLoad,onReady,onShow等都可以调用function发送请求。他们之间有什么区别?首先官方文档先甩出来,这些都是微信页面page这个Object的声明周期函数里面的,其实点进去看定义就可以了,毕竟里面说的很清楚。

微信页面构造,生命周期函数

懒得看文档觉得不直观,我再甩你一张图,这个图也是官方的,虽然说你也不可能马上理解但是肯定会让你对小程序的page生命周期有一定了解。
看图(地址就不贴了上一个连接的最下面):
在这里插入图片描述
然后自己再BB总结一下
(1)onLoad
页面加载时触发,且只发生一次,有些数据实时性要求不高可以onlaod里面触发对应的请求

(2)onReady
页面初次渲染之后触发(只是初次,下一次页面渲染就没他什么事),只触发一次。你发送请求其实也可以把它当做onload毕竟也只是一次,但是你涉及到一些渲染的东西要注意了,设置页面标题之类的要在他之后再用。

(3)onShow
定义是页面显示,切入前台触发,用我的话来讲就是这个页面出现一次,他就被调用一次包括你前进后退到这个页面。
(4)onHide
可能你看图alive和active切换可能不太了解,但是你实际操作一下就知道,写一个简单得打印函数,在onHide里面调用,切换页面的时候你就会发现该函数被调用。你可以通过这个Hide的词来理解,这个页面切换到别的页面就会触发。

待续。。。。

实际使用注意
onload在页面加载的时候加载一次,而onShow就是切换到这个页面就会加载一次。所以很多操作尤其是有数据交互请求后台的的function函数要注意,该放onload就放在onload里面,该放在onShow就放在onShow里面,别一个请求多次触发然而没什么实际意义,减轻后台压力,查询日志也方便,不会有一大堆相同的无意义请求干扰。有些东西请求拿到数据可以放在缓存里,像有些数据时效性不是很高可以拿缓存数据处理,时效性有点高的数据,可以定时一段时间刷新请求一下,你如商品列表的商品,你onShow一次太频繁,不更新的话新的商品上新前台看不到,可以定时刷新请求一次获取数据。

原作者二维码:
在这里插入图片描述
原文链接

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值