微信小程序要实现页面刷新,简单的说就是在不同的地方重新执行 onLoad 周期函数。
需要注意在刷新时是否要初始化变量。因为小程序都是异步操作,所以很多时候,可能会造成服务器相应慢的问题,导致页面显示的时候会有延迟、造成闪烁的情况。
- 用 onLoad 周期方法重新加载,实现当前页面的刷新。
this.onLoad()
- 用 pages 获取到当前页码数,然后执行当前页的 onLoad 函数。
const pages = getCurrentPages() const perpage = pages[pages.length - 1] perpage.onLoad()
- 点击左上角的返回按钮时,返回事件不会触发 onload() ,但是会触发 onshow(),所以可以在 onshow() 中写入刷新或者是调取页面数据的代码。返回的时候会进行刷新。
data:{ show:false } //每次进入页面都会将show变为true onshow:{ this.setData({ show:true }) }
- 获取页码数进行刷新,跟当前页面的刷新的方式是一样的。
var pages = getCurrentPages() //对上一页进行刷新 pages[pages.length -2 ].onload()