uniapp的生命周期问题?

 

问题描述:

这个页面中:检验相关、检查相关是两个选项卡,点击某一个,会默认按七天去接口拿数据,也就是说这个页面一打开,就需要调用数据叫下面的数据显示,我想要的效果是第一次打开会调数据拿数据,如果去其它页面再回到这个页面会就保留着之前的数据,不再去重新调用,除非客户做了某个操作再去调数据,这个应该用到哪个生命周期,我试了onReady好像也没行。
image.png


 

第 1 个答案:

试试onLoadimage.png


 

第 2 个答案:

这个问题的关键点在从这个页面跳转到其他的页面。
如果你是返回上一级的页面,按照uniapp的生命周期,这个页面的数据是需要被销毁的。
如果你是从当前页面跳转到下一级的页面,那当前页面的数据就会被自动缓存下来,所以,不会刷新。除非你在onshow生命周期调用了请求接口去获取数据。


 

第 3 个答案:

你的先熟悉一下小程序页面缓存的机制,然后再考虑 onLoad 点返回可以,但是从首页再进就又执行是什么原因。

但是按照你描述的需求,并不是利用页面缓存的机制,而是需要利用本地缓存。因为不管是页面返回,也有可能已经离开页面了, 从其他的页面跳转到需求页面。

所以应该修改为在打开页面时判断一下本地缓存中是否有需求的数据,如果没有则调用接口,如果有则直接展示本地缓存的数据。


终端中输入psql 命令,提示没有该命令