• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
麦兜家园
优秀是一种习惯
博客园    首页    新随笔    联系   管理    订阅  订阅
vue3中组件之间通信ref和$parent的用法

ref的用法:

//子组件
<template>
    <div class="son">我是子组件{{num}}</div>
</template>

<script>
    imoprt ref from 'vue'
    let num = ref(100)
    //这里需要注意:组件内部数据对外是关闭的,如果想让外部访问需要通过defineExpose的方法对外暴露
    defineExpose({num})
</script>

子组件若想获取父组件的值,需要用到$parent:

//子组件
<template>
    <div class="son" @click="handler($parent)">我是子组件{{num}}</div>
</template>

<script>
    imoprt ref from 'vue'
    let num = ref(100)
    handler=($parent)=>{
        console.info($parent)
    }

</script>
<template>
    <h1>我是父组件{{num}}</h1>
    <Son ref="son"></Son>
</template>

<script>
    import Son fron './son.vue'
    imoprt ref from 'vue'
    let num = ref(10000)
    let son = ref()
    //这里需要defineExpose的方法对外暴露,子组件才可以获取到
    defineExpose({num})
</script>

需注意的是:

组件内部数据对外是关闭的,如果想让外部访问需要通过defineExpose的方法对外暴露

 

posted on 2023-08-16 10:55  麦兜家园  阅读(532)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3