为什么需要onRoute函数? · Tencent/wepy Wiki https://github.com/Tencent/wepy/wiki/%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81onRoute%E5%87%BD%E6%95%B0%3F
为什么需要onRoute函数?
小程序生命周期函数有:
| 函数 | 说明 |
|---|---|
| onLoad | 页面加载事件 |
| onShow | 页面显示事件 |
| onReady | 页面初次渲染完成事件 |
| onHide | 页面隐藏事件 |
| onUnload | 页面卸载事件 |
那么问题来了,页面之间的跳转事件应该写在哪个方法里呢?比如有需求,需要在页面跳转后重置当前页面数据。写在onShow事件里?
写在onShow事件里的确可以,但是要考虑到一些特殊操作同样会触发onShow事件,比如 拉起分享后取消分享,拉起支付后取消支持,手机HOME键返回再进入等等。
如果不介意在做这个动作的时候多调一次onShow事件,那使用onShow肯定没有问题。
wepy中onRoute事件就是为了解决这个问题,只有在页面路由时才会触发(包括第一次进入页面)。加入onRoute后的生命周期事件调用时序为:
onLoad -> onShow -> onRoute -> onReady -> onUnload