发现小程序请求这一部分,onLoad、onReady、onShow等可以调用function发送请求。 他们之间有什么区别? 首先把官方文档摇一摇。 它们位于名为微信页page的对象的声明周期函数中。 实际上点击查看定义就可以了,毕竟内容很清楚。

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

因为懒得看文档,不直观,所以再摇一张图看看。 这张图也是官方的。 虽然不能很快理解,但您一定会对applet的page生命周期有一定的了解。

查看照片(地址未贴上前面连接的底部) :

然后,自己再总结一下BB吧

(1)开启

加载页面时触发,仅发生一次。 由于某些数据不要求实时性,因此可以在onlaod上触发相应的请求

)2) onReady

第一次渲染页面后触发,仅触发一次。 即使你发送了请求,其实也可以把它变成onload。 虽然只是一次,但有与渲染有关的东西,请注意。 请在他之后设定页面标题等。

)3)打开显示

定义是页面显示,切入前台触发。 用我的话来说,这个页面出现一次,他就会被调用一次,包括你在内,回到这个页面。

)4) onHide

您可能不太清楚在alive和active之间的切换,但实际操作后,您可以编写简单的打印函数,并在onHide中调用,以便在切换页面时调用该函数。 这个Hide的话可以理解。 当此页面切换到其他页面时触发。

等待办理手续。

实际使用注意事项

加载页面时加载一次onload,但切换到此页面时加载一次onShow。 因此,有很多操作,特别是数据交换的后台函数需要注意。 应该放在onload里的放在onload里,应该放在onShow里的放在onShow里,会多次触发其他要求,但实际上意义不大,减轻了后台压力,查日志也很方便,大量相同有些东西可以得到数据并放入缓存中。 例如,数据时效性不是很高的可以用缓存数据处理。 时效性稍高的数据,可以定时要求刷新。 例如,商品清单这样的商品,onShow太频繁了,不更新的话,在新商品中看不到新的前台。 也可以定时要求刷新来获取数据。

原作者二维码:

原文链接