一般出现这样的问题都是不正确的路由跳转导致的:
微信小程序有多种路由跳转的接口如wx.switchTab,wx.reLaunch,wx.redirectTo,wx.navigateTo,wx.navigateBack
在学习这些路由跳转接口的时候需要知道一个前提,那就是微信小程序页面的生命周期:
函数 | 功能 |
---|
onLoad | 监听页面加载 | onReady | 监听页面初次渲染完成 | onShow | 监听页面显示 | onHide | 监听页面隐藏 | onUnload | 监听页面关闭 |
然后我们其中挑其中最常用的讲讲:
wx.navigateTo:
·如图所示,从index页面使用 wx.navigateTo 前往Page1,那么index页面就会转变为onHide状态,Page1页面转变为onShow状态,如果摁返回键就会执行左边返回时的转变过程。 ·就遇到微信小程序页面跳转后Page里的data数据消失的问题而言,那就是使用了 wx.navigateTo 到下一个页面,然后又尝试使用 wx.navigateTo 回到上一个页面就会出现上一个页面的data丢失的现象,所以并不是上一个页面的数据丢失了,而是使用了wx.navigateTo开了一个新的页面。数据自然就没有了。
wx.redirectTo:
wx.reLaunch:
|