微信小程序中的不同场景,不同的判断,请求的时机

本来5月1之前就想写一下一篇关于小程序不同场景下发送ajax请求的问题,但是放假的前一天,出了个大bug,就是因为我修改不同的场景下执行不同的逻辑造成的

1、首先,在小程序里,微信做了很多的缓存,我们可以很好的利用这些缓存,比如,两个tab页面,我自由切换的情况下,缓存会记录我的滚动状态,切换状态,页面里radio的状态,总之所有的状态都会记录下来。

2、但是我们每次退出小程序后再次进来时,要求得重新刷新数据,这样的话,很自然就想到onshow钩子了,在onshow里,页面每次进来时都会调用,但是请求如果写到这个钩子里,就会每次都切换tab时重新请求数据,我原来的缓存也用不了了,这样很影响性能,其实每次进来的时候,微信小程序里会先走到app.js里,里面也有onshow钩子,但是之后的所有操作都不会走入这个钩子里,这就解决了一个很重要的性能问题,每次我进入小程序里请求数据,而不是每次进入页面请求,这样的话我也不用填onload里的坑了

3、思路很明确了,逻辑分层,解决问题,app.js作为整个应用层面的逻辑层,负责数据的请求和存储,在页面内,负责数据的修改和页面特效的切换,场景的话,利用app.js里的钩子可以很好的区分。

4、做了一个简单的流程图

 

转载于:https://www.cnblogs.com/windseek/p/10813587.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值