首页 > 其他分享 >vue3 单文件组件——父组件访问子组件的实例

vue3 单文件组件——父组件访问子组件的实例

时间:2022-08-23 14:33:55浏览次数:71  
标签:const refData 实例 vue3 组件 ref

如果一个子组件使用的是选项式 API 或没有使用 <script setup>,被引用的组件实例和该子组件的 this 完全一致,这意味着父组件对子组件的每一个属性和方法都有完全的访问权。

有一个例外的情况,使用了 <script setup> 的组件是默认私有的:一个父组件无法访问到一个使用了 <script setup> 的子组件中的任何东西,除非子组件在其中通过 defineExpose 宏显式暴露:

子组件 Child

<script lang='ts' setup>
import {ref} from 'vue';
let refData = ref('寒蝉鸣泣之时')
defineExpose({
refData,
})
</script>

父组件 farther

//通过ref
<Child :show="show"
ref="childRef" />
// ref
const childRef = ref()
const handleClick = () => {
//获取ref中的子组件的refData
treeRef.value.refData
}

标签:const,refData,实例,vue3,组件,ref
From: https://www.cnblogs.com/zhaoeh/p/16616066.html

相关文章

  • vue大文件上传组件选哪个好?
    ​一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到......
  • vue3源码学习
    建议先通过官方指南了解3.0都干了啥、解决了什么问题。然后才是阅读其源码(通过利器),进阶了解它是如何实现的。https://juejin.cn/post/6925668019884523534......
  • vue3新内置组件teleport传送门
    使用到的原因:在使用固定定位弹出弹出框的时候,突然遇到位置不正确,而且在有index高级别的情况下依旧位置出错表现如下:出现原因:我的代码出现的tf元素,导致定位祖先元素发......
  • 使用骨架创建Maven的web工程和maven工程Servlet实例之指定web资源包
    使用骨架创建Maven的web工程操作一样把勾进行勾选找到webapp选项下一步创建就行创建好会有显示目录结构其余的都需要自己手动补齐有小蓝点的才是一个web项目,  ......
  • jenkins 安装报错"该Jenkins实例似乎已离线"解决方法
    在安装jenkins时,报“jenkins安装报错"该Jenkins实例似乎已离线"解决方法”第一步:查看日志,有没有报错。默认:/var/log/jenkins (docker里dockerlogs-fjenkins容器名),......
  • Vue3中插槽(slot)用法汇总
    Vue中的插槽相信使用过Vue的小伙伴或多或少的都用过,但是你是否了解它全部用法呢?本篇文章就为大家带来Vue3中插槽的全部用法来帮助大家查漏补缺。什么是插槽简单来说就是......
  • maven工程servlet实例之指定web资源包以及导入项目依赖的jar包以及jar包冲突解决
    maven工程servlet实例之指定web资源包  在webapp包下可以直接创建jsp文件,但是在java包下我们不可以直接创建jsp文件。   如果想要在java包下创建jsp文件,就需......
  • 动态组件的使用
    父组件:<template><divclass="app"><!--动态组件component--><!--is中的组件需要来自两个地方:1.全局注册的组件2.局部注册的组件-->......
  • Vue2按需引入elementUI组件
    按需引入官方文档介绍借助babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。首先安装babel-plugin-component:npminstallbabel-plugin-c......
  • uniapp 使用Vue3 setup组合式API 引入 uniapp 的 页面生命周期
    uniapp使用Vue3setup组合式API引入uniapp的页面生命周期<template><viewclass="content"><imageclass="logo"@click="handleFei"src="/static/logo.pn......