y***@yousi.com
y***@yousi.com
  • 发布:2024-04-12 11:56
  • 更新:2024-04-12 14:34
  • 阅读:285

在app.vue中使用uni.reLaunch会使打开的页面的onReady方法执行2次

分类:uni-app

我在app.vue中的onLaunch做了判断是否登录,如果已经登录则跳转到a页面 如未登录则跳转到登录页
跳转的方法使用的是uni.reLaunch 现在发现在打开的a页面中onReady被执行了2次 代码在附件中 已知pages.json中a页面只存在一个配置
感觉像是这个a页面被加载了2次这样导致我在这个页面嵌入的子组件中mounted方法调用接口也执行了2次
尝试在跳转到a页面的时候做了个延时3秒,刷新 页面后马上会打开a页面然后过3秒因执行reLaunch又刷了遍

2024-04-12 11:56 负责人:无 分享
已邀请:
JXWang

JXWang

pages.json配置的第一页面是 a 页面吗,第一个页面就是默认启动页面,或者是否配置了启动页

  • y***@yousi.com (作者)

    pages.json pages配置的第一个是登录页,mainfest.json quckapp启动页也没配置任何东西 我写个出问题的demo在附件里

    2024-04-12 14:46

  • JXWang

    回复 y***@yousi.com: 是h5还是app

    2024-04-12 14:58

  • y***@yousi.com (作者)

    回复 JXWang: H5 app(调试基座)里都有发现

    2024-04-12 15:00

  • y***@yousi.com (作者)

    回复 JXWang: 我刚发现首次编译后启动不会有问题,但开发改代码自动刷新 页面后就会这样

    2024-04-12 15:03

  • JXWang

    回复 JXWang: 如果是h5的话,当登录成功之后跳转到a页面,然后刷新整个页面的话还停留在a页面,所以此时先进入a页面,然后再到app.vue的onLaunch又执行了一次跳转到a页面,所以a页面进入了两次。解决方法登录成功后判断当前路由是否是a页面,如果是a页面就不跳转

    2024-04-12 15:04

  • JXWang

    回复 y***@yousi.com: 就是因为改代码自动刷新刷新后启动的页面还是当前a页面,然后app.vue的onLaunch又跳转了一次,然后就出现进入两次的情况

    2024-04-12 15:05

  • y***@yousi.com (作者)

    回复 JXWang: 好的,谢谢~

    2024-04-12 15:13

要回复问题请先登录注册