微信小程序onLoad与onLaunch执行顺序的统一

微信小程序onLoad与onLaunch执行顺序的统一

​ 微信小程序的app.js中的onLaunch()函数与首页的onLoad()函数执行顺序是不确定的,这取决于小程序初次运行时是app.js先加载至onLaunch()还是首页先加载至onLoad()

​ 本文将上述两个函数的执行顺序固定为先onLaunch(),后onLoad()

Step 1

在首页js文件中,声明如下定义

const app = getApp();
/**
	* 生命周期函数--监听页面加载
	*/
onLoad: function (options) {
	app.callBack = (res) => {
		this.onLoadAL()
	}
},
/**
	* 生命周期函数--onLaunch之后执行的监听页面加载函数
	*/
onLoadAL: function (e) {
	//这里填写在onLaunch()执行完毕后,要在onLoad()中执行的内容
},

Step 2

app.jsonLaunch()中,声明函数

var _this = this
const waitOnLoad=function(){
  const o = setInterval(function () {
    if (_this.callBack) {
			_this.callBack()
			clearInterval(o)
    }
  }, 10)//这里设置每10毫秒检查一次callBack函数是否从onLoad()注入
}

然后在onLaunch()执行完毕时,调用waitOnLoad()即可。
对于每次小程序非初次执行时主页onLoad()就不难写了,这里不再赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值