小程序开发时onLoad()和onShow()有什么区别?

  • 如果想要每次进入此页面都刷新,是不是应该选择onShow()?
  • 在wx.request之后(例如删除某项之后)想要刷新页面是否可以直接使用this.onLoad()刷新页面呢
阅读 3.7k
2 个回答

onLoad在页面生命周期中只会执行一次,如果你back或者redirect页面销毁,再次进来就会再出发onLoad;
onShow表示页面显示在前台,在onLoad后执行,后台切前台也会执行,跳到下一个页面再返回此页面也会执行;
根据你的具体需求选择合适的hook(详细内容查看文档)。所谓刷新页面就是重新执行一些代码而已,这个跟hook没关系,你把需要重复执行的封装到一个function里,然后再需要刷新时再调一次就是了,mvvm关心的是数据,只要数据变了不就刷新了,像h5那样reload整个页面反而体验不好,小程序也没有刷新页面的API,你的this.onLoad本质上就是重复执行代码刷新数据而已

从二级页面返回该页面时,onLoad不会再次加载,而onshow会重新加载
wx.request 删除数据 只需要更新对应的数据源,视图层会随之改变,不需要重载整个页面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题