uni-app页面中onLoad在onLaunch执行完成后再执行

小程序开发中经常会遇到项目正常运行前,需要把项目的所有配置都正常加载完成后,再进行后续的操作。

这也就需要我们要先加载完成再执行后续操作。

网站开发中经常会加载一些配置项,而只有这些配置项正常加载后才可以正常使用后续操作。

那么这时候就需要我们在网站一开始运行就执行加载项,并进行判断。

本篇文章就来介绍基于uni-app开发,页面中onLoad生命周期在App.vue页面的onLaunch中的数据请求完成之后执行。

main.js设置代码

Vue.prototype.$onLaunched = new Promise(resolve => {
Vue.prototype.$isResolve = resolve
})

App.vue中代码设置

export default {
onLaunch: function() {
let _this = this
setTimeout(function(){
_this.$isResolve()
},3000)
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}

页面onLoad之后执行

export default {
data() {},
async onLoad(options) {
await this.$onLaunched;
//在onLaunch中执行完成后,需要执行的操作
//在这里写
},
}

注意点:在页面onLoad中,需要先进行$onLaunched的调用,才可以正常监听到onLaunch中的事件是否完成。

六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!