当前位置:   article > 正文

uni-app onLaunch和onLoad异步的问题_uni-app app.vue的onlaunch和页面的onload异步变同不

uni-app app.vue的onlaunch和页面的onload异步变同不

最近小编开发用uni-app开发H5页面的时候遇到一个问题,不知道其他小伙伴有没有遇到onLaunch和onload异步问题。欢迎大家留言一起探讨。

按着正常的逻辑来说启动H5页面先触发onLaunch,随后触发onLoad,其实不是,在触发onLaunch的同时也在触发要进入页面的onLoad,所以导致在onLoad里面拿不到onLaunch里的数据。

解决方法,小编也查了资料,提供给大家参考

  1. //第一步:在uni-app项目,main.js中
  2. Vue.prototype.$onLaunched = new Promise(resolve => {
  3. Vue.prototype.$isResolve = resolve
  4. })
  5. //第二步:在app.vue onLaunch中调用接口
  6. onLaunch(){
  7. this.$u.post('/loginAdmin',{//这是调用的接口
  8. workCard: params['userid']
  9. }).then((res)=>{
  10. this.$isResolve()//调用下
  11. }).catch((res)=>{
  12. //出息信息错误
  13. this.$Router.replace({name:"noautority"}) //未授权页面
  14. })
  15. }
  16. //第三步 :在要进入页面的onLoad生命周期
  17. //这里要写成同步的需要加async
  18. async onLoad(){
  19. await this.$onLaunched
  20. //以下在进行业务逻辑操作
  21. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/284407
推荐阅读
相关标签
  

闽ICP备14008679号