zsfFree
zsfFree
  • 发布:2025-04-28 16:37
  • 更新:2025-04-28 16:45
  • 阅读:40

【报Bug】普通组件内可以直接使用页面上的生命周期,一切正常,这是bug还是默认允许的

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22H2

第三方开发者工具版本号: vscode1.91.1

基础库版本号: 3.8.1

项目创建方式: CLI

CLI版本号: node23.5.0和pnpm9.15.1

示例代码:

// components\a\a.vue
<script setup lang="ts">
onLoad(async (e: any) => {
console.log('components load')
});
</script>

// home.vue
<template>
<a></a>
</template>
<script setup lang="ts">
onLoad(async (e: any) => {
console.log('page load')
});
</script>

操作步骤:

直接运行到微信小程序就可以复现

预期结果:

正常来讲组件内是不可以使用页面的生命周期的

实际结果:

组件可以直接使用页面的生命周期,虽然我觉得这样挺好的,就怕后续版本会修复回来导致我线上项目报错

bug描述:

普通组件components\a\a.vue

页面homw.vue

两个文件的onLoad生命周期都执行了,页面的先执行,组件后执行
编译到小程序页面也是普通组件,并没有编译成了页面

问题:是否是正常的现象,还是一个bug,后续版本会修复回来吗?

这样还挺方便的,在组件内就可以直接写onshow来执行相关的逻辑

2025-04-28 16:37 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

参考下这个问答:https://ask.dcloud.net.cn/question/194653
下面有官方回复

  • zsfFree (作者)

    感谢,我刚试了一下,onReady也会触发哈,那就不是bug了,这样还挺好用的

    2025-04-28 16:51

zsfFree

zsfFree (作者)

"@dcloudio/uni-mp-weixin": "3.0.0-4030620241128001",

要回复问题请先登录注册