开发小程序,遇到一个问题:我要去打开A页面,但如果没有登录,就会跳转到B页面。登录成功之后再次返回A页面,但是A页面没有刷新渲染页面。
即后退刷新页面。
刚开始以为是书写顺序,检查好几遍发现不是,根本原因是页面在返回之后没有刷新。那么怎么解决,查了好多资料。
其实咱们小程序不存在页面刷新,只需要掌握好生命周期,那这个问题就OK了。
比如判断是否登录, 可以在 onShow 函数里面写判断是否登录,如果没有登录跳转到登录页。
再比如判断页面是否有加载某个数据, 就在onShow里面判断:如果等于空的话, 就再加载一次
App({
onLaunch: function(options) {
// 生命周期函数--监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
},
onShow: function(options) {
// 生命周期函数--监听小程序显示(后退到这个页面的时候这个就会被回调) 当小程序启动,或从后台进入前台显示,会触发 onShow
},
onHide: function() {
// 生命周期函数--监听小程序隐藏 当小程序从前台进入后台,会触发 onHide
},
onError: function(msg) {
// 错误监听函数 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
},
globalData: 'I am global data'})
例子: