微信小程序页面生命周期
onLoad(Object query)
页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。
可以获取wx.navigateTo和wx.redirectTo及<navigator/>中的 query。//url wxml页面 <button bindtap='clickme'>点击跳转到生命周期页</button> //url页面点击按钮跳转(js) clickme:function(){ wx.navigateTo({ url:'../lifeperiod/lifeperiod?id=10086' }) } //lifeperiod页面获取当前页面参数(js) onLoad: function (option) { console.log(option.id) },
onShow
页面显示/切入前台时触发。
//wxml <text>{{showme}}</text> //js onReady: function () { console.log("onReady-test") this.setData({ showme: "loveweiwei" }) }, onShow: function () { console.log("onShow-test"); this.setData({ showme: "loveme" }) }
猜猜显示loveme还是loveweiwei?
onShow监听页面显示比onReady函数监听页面初次渲染完成先调用
onReady
页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
onHide
页面隐藏/切入后台时触发。 如 navigateTo 或底部 tab 切换到其他页面,小程序切入后台等。
从url页面跳转到lifeperiod页面,会触发url页面的onHide。onUnload
页面卸载时触发。如redirectTo或navigateBack到其他页面时。
从lifeperiod页面返回url页面,会触发lifeperiod页面的onUnload。
注意:返回url页面时显示loveme,是因为onReady为监听页面初次渲染完成触发
路由方式 | 触发时机 | 路由前页面 | 路由后页面 |
---|---|---|---|
初始化 | 小程序打开的第一个页面 | onLoad, onShow | |
打开新页面 | 调用 API wx.navigateTo 或使用组件 <navigator open-type="navigateTo"/> | onHide | onLoad, onShow |
页面重定向 | 调用 API wx.redirectTo 或使用组件 <navigator open-type="redirectTo"/> | onUnload | onLoad, onShow |
页面返回 | 调用 API wx.navigateBack 或使用组件<navigator open-type="navigateBack">或用户按左上角返回按钮 | onUnload | onShow |
重启动 | 调用 API wx.reLaunch 或使用组件 <navigator open-type="reLaunch"/> | onUnload | onLoad, onShow |
相关推荐
kgshuo 2020-09-25
Tomato 2020-09-10
taiyangyu 2020-09-10
CodeAndroid 2020-09-10
small 2020-07-29
sucheng 2020-07-26
zuoliangzhu 2020-07-20
CodeAndroid 2020-07-14
xiaoxubbs 2020-07-04
sucheng 2020-06-25
kgshuo 2020-06-14
意外金喜 2020-06-14
zuoliangzhu 2020-06-14
tianping 2020-06-14
hgzhang 2020-06-14
killgod 2020-06-14
戴翔的技术 2020-06-14
郴州小程序 2020-06-13