欢迎来到资源库(www.zyku.net)

微信开发

当前位置:首页 > CMS教程 > 微信开发 > 小程序

小程序生命周期(onLaunch、onShow、onHide、onReady、onLoad、onUnload)

时间:2022-01-03|栏目:微信开发|点击:|我要投稿

onlaunch:当小程序初始化完成时,会触发 onLaunch(全局只触发一次)(app.js);

onLoad: 页面加载

小程序注册完成后,加载页面,触发onLoad方法。一个页面只会调用一次,可以在 onl oad 中获取打开当前页面所调用的 query 参数(页面js)。

onShow: 页面显示

页面载入后触发onShow方法,显示页面。每次打开页面都会调用一次(比如当小程序有后台进入到前台运行或重新进入页面时)。

onReady: 首次显示页面

页面初次渲染完成,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。

onHide: 页面隐藏

当navigateTo、底部tab切换、上传文件选择图片时调用。

onUnload: 页面卸载

当返回上一页wx.navigateBack、wx.relanch、wx.redirectTo时都会被调用(这里的坑有点深)。

基本上可以说执行顺序为onLaunch–onLoad–onShow–onReady–onHide.

虽然说onLaunch在onLoad之前执行,但是在onLaunch里请求获取是否有权限,等待返回值的时候Page里的onLoad事件就已经执行了。

解决办法:

在APP里面onLanch中的网络请求中设置判断

if (this.userInfoReadyCallback) {
    this.userInfoReadyCallback(res)
}

在page的onLoad中设置一个回调

app.userInfoReadyCallback = res => {
	if (res != '') {
		console.log("app.globalData.userInfo")
	}
}

————————————————

版权声明:本文为CSDN博主「码不停T」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_37291064/article/details/87913066

(资源库 www.zyku.net)

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务