q***@gmail.com
q***@gmail.com
  • 发布:2024-06-02 17:36
  • 更新:2024-06-03 20:33
  • 阅读:171

【报Bug】App.vue 里面的生命周期方法单个不执行

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 14.5 (23F79)

HBuilderX类型: 正式

HBuilderX版本号: 4.15

浏览器平台: Chrome

浏览器版本: 版本 125.0.6422.113(正式版本) (arm64)

项目创建方式: HBuilderX

操作步骤:

直接看控制台输出

预期结果:

生命周期都正常运行,可以按需使用

实际结果:

必须要写onLoad,onMounted两个方法。onMounted才执行。onLoad不打印。

bug描述:

App.vue 的生命周期如果只写一个onMounted,会不执行。必须要写onLoad,onMounted两个方法。onMounted才执行。onLoad不打印。

<script setup>  
    import {  
        onMounted  
    } from "vue";  

    import {  
        onLoad  
    } from "@dcloudio/uni-app"  

    onLoad(()=>{  
        console.log('声明周期方法 onLoad');  
    });  

    onMounted(() => {  
        console.log('声明周期方法 onMounted');  
        uni.onTabBarMidButtonTap(() => {  
            console.log("中间按钮点击了");  
        });  
    });  
</script>  

<style>  
    /*每个页面公共css */  
</style>
2024-06-02 17:36 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

运行你提供的demo 把onLoad删除后 onMounted也是可以正常执行的
hbx版本为:4.17

  • q***@gmail.com (作者)

    我也在最新的 4.17版本测试了,两个方法存在的时候, onLoad不执行

    onLoad(()=>{

    console.log('声明周期方法 onLoad');

    });

    2024-06-03 20:27

q***@gmail.com

q***@gmail.com (作者)

20:30:42.340 项目 bug 开始编译
20:30:43.190 请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。
20:30:43.191 vite是按需编译,运行时点击某个未编译页面会先编译后加载,导致显示较慢,发行后无此问题。
20:30:43.197 编译器版本:4.17(vue3)
20:30:43.197 正在编译中...
20:30:43.802 vite v5.2.8 dev server running at:
20:30:43.802 - Local: http://localhost:5173/
20:30:43.802 - Network: http://192.168.5.193:5173/
20:30:43.802 项目 bug 编译成功。前端运行日志,请另行在浏览器的控制台查看。

@爱豆豆 目前环境是 4.17 Vue3,onLoad 方法不走

  • 爱豆豆

    现在是 onLoad 方法不走了?单写onMounted可以生效吗?

    2024-06-04 08:38

  • q***@gmail.com (作者)

    回复 爱豆豆: 也不生效,App.vue的要写两个生命周期才生效,onLoad onLaunch 这两个我怎么刷新都不生效

    2024-06-04 16:32

  • 爱豆豆

    回复 q***@gmail.com: 官方示例项目 可以触发吗?你用的啥浏览器?换浏览器试试呢

    2024-06-04 16:48

  • q***@gmail.com (作者)

    回复 爱豆豆: Chrome,我知道问题了,是 Bug,我刚才有个页面也一直不走生命周期方法,我需要把 hbx 完全关闭,再打开才可以。太不稳定了

    2024-06-04 21:54

要回复问题请先登录注册