当前位置:   article > 正文

微信小程序onLoad与onLaunch执行顺序的统一_onlaunch onload怎么同步

onlaunch onload怎么同步

微信小程序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()中执行的内容
},
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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()注入
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/284371
推荐阅读
相关标签
  

闽ICP备14008679号