2***@qq.com
2***@qq.com
  • 发布:2023-04-04 20:08
  • 更新:2023-04-04 20:51
  • 阅读:626

【报Bug】vue3调用子组件的方法

分类:uni-app

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

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.7.9

第三方开发者工具版本号: 1.06.2303220

基础库版本号: 2.30.3

项目创建方式: HBuilderX

示例代码:

父组件

<template>  
    <view @click="openPop">  
        123  
    </view>  
    <common-pop ref="pop"></common-pop>  
</template>  

<script lang="ts" setup>  
    import { ref } from 'vue'  
    const pop = ref()  
    const openPop = () => {  
        console.log(pop.value);  
    }  
</script>

子组件common-pop

<template>  
    <view>  
    </view>  
</template>  

<script lang="ts" setup>  
    import { ref } from 'vue'  
    let isOpen = ref(false)  
</script>

操作步骤:

点击按钮

预期结果:

打印的pop.value里面应该有isOpen

实际结果:

没有isOpen

bug描述:

vue3里,父子都是setup语法糖的写法,父组件拿不到子组件的东西

2023-04-04 20:08 负责人:无 分享
已邀请:
YUANRJ

YUANRJ

setup语法要通过defineExpose方法指定子组件需要暴露的属性。

<template>    
    <view>    
    </view>    
</template>    

<script lang="ts" setup>    
    import { ref } from 'vue'    
    let isOpen = ref(false)    
    defineExpose({  
        isOpen  
    })  
</script>
  • 2***@qq.com (作者)

    我的我的,感谢

    2023-04-06 09:20

该问题目前已经被锁定, 无法添加新回复