uni-app created onLoad在h5和小程序中,执行的顺序不一致

yyyllmsg  于 5个月前  发布在  uni-app
关注(0)|答案(2)|浏览(43)

问题描述
按照理解, createdonLoad 生命周期函数在各平台中均应该按照 created -> onLoad 的顺序执行,但实际上在 H5 平台中的执行顺序则是相反的,先回调了onLoad 再回调 created,不知道这个是 bug 还是官方故意为之,有何深意。

复现步骤

[或者可以直接贴源代码]

created: function() {
    console.log('created')
},

onLoad: function() {
    console.log('onLoad')
}

预期结果
不管是在微信小程序/支付宝小程序/H5等各平台中,均应该依次打印 created -> onLoad

实际结果
微信小程序/支付宝小程序打印结果: created -> onLoad
H5的打印结果: onLoad -> created

系统信息:
截止目前最新版 3.1.7.20210330 依然有该问题

补充信息
在社区里面找到了一篇反馈文章 【报Bug】uni-app的created onLoad为什么在h5和微信小程序中,显示的顺序不一致 ,但是官方并没有进行任何回复。

cnh2zyt3

cnh2zyt31#

我也遇到,比较头疼,我想封装一个页面和组件可以共用的mixin,最后选择的办法是,判断如果在组件里面使用,逻辑写在beforeMount里面,如果是页面,写在onLoad里面,created我已经决定不用了

bfnvny8b

bfnvny8b2#

我也遇到,比较头疼,我想封装一个页面和组件可以共用的mixin,最后选择的办法是,判断如果在组件里面使用,逻辑写在beforeMount里面,如果是页面,写在onLoad里面,created我已经决定不用了

emmm,组件应该是mounted,mp的时候组件的beforeMount执行完才会页面的onLoad

相关问题