当前位置: 首页 > news >正文

vue3 组合式API获取子组件的属性和方法

  1. 在vue2中,获取子组件实例的方法或者属性时,父组件直接通过ref即可直接获取子组件的属性和方法,如下:

    // father.vue
    <child ref="instanceRef" />
    this.$ref['instanceRef'].testVal
    this.$ref['instanceRef'].testFunc()
    // child.vue
    data () {return {testVal: '来自子组件的属性'}
    },
    methods: {testFunc() {return '来自子组件的方法'}
    }
    
  2. 在vue3 组合式API中,在子组件使用defineExpose指定需要暴露的属性和方法,父组件才可以通过ref获取到子组件的属性和方法,如下:

    // father.vue
    <script setup lang="ts">
    import ChildInstance from "@/views/component/father-instance/child-instance.vue";
    import { ref } from "vue";const instanceRef = ref(null);
    const getChildInstance = () => {const childInstance = instanceRef.value; // 通过ref获取子组件实例console.log(childInstance.childValue);console.log(childInstance.childFunc());
    };
    </script><template><ChildInstance ref="instanceRef" /><el-button @click="getChildInstance">获取子组件属性和方法</el-button>
    </template><style scoped lang="scss"></style>
    // child.vue
    <script setup lang="ts">
    import { ref, defineExpose } from "vue";const childValue = ref("来自子组件的属性");
    const childFunc = () => {return "来自子组件的方法";
    };
    // 使用defineExpose指定需要暴露的属性和方法
    defineExpose({childValue,childFunc
    });
    </script><template><div>来自子组件</div>
    </template><style scoped lang="scss"></style>

相关文章:

  • 【webrtc】m98 : vs2019 直接构建webrtc及moduletest工程 2
  • ARCGIS PRO SDK 数据库属性域设置与获取
  • 华为策略路由+NQA配置
  • iText操作pdf
  • 05 Redis之Benchmark+简单动态字符串SDS+集合的底层实现
  • 改变this指针的三个方法?
  • 如何在 Ubuntu 中安装 Microsoft Edge 浏览器
  • 【Spring连载】使用Spring Data访问Redis(五)----Redis Cache
  • 一篇文带你使用js实现拖拽排序
  • go-zero 统一返回
  • 使用Process.Start()打开文件夹时出现访问被拒绝异常
  • go grpc高级用法
  • 输出日志信息的两种方式比较:日志框架SLF4J和System.out.println
  • 【flutter项目类型】project type如何区分
  • Python基础(二十九、pymsql)
  • bearychat的java client
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • express如何解决request entity too large问题
  • Git学习与使用心得(1)—— 初始化
  • Laravel 实践之路: 数据库迁移与数据填充
  • Making An Indicator With Pure CSS
  • Protobuf3语言指南
  • Quartz初级教程
  • 后端_MYSQL
  • 日剧·日综资源集合(建议收藏)
  • 移动端解决方案学习记录
  • 硬币翻转问题,区间操作
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • #微信小程序:微信小程序常见的配置传旨
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (rabbitmq的高级特性)消息可靠性
  • (过滤器)Filter和(监听器)listener
  • (回溯) LeetCode 131. 分割回文串
  • (十六)、把镜像推送到私有化 Docker 仓库
  • (十五)、把自己的镜像推送到 DockerHub
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (源码分析)springsecurity认证授权
  • (转)C#调用WebService 基础
  • (转)Oracle存储过程编写经验和优化措施
  • .equals()到底是什么意思?
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET Micro Framework 4.2 beta 源码探析
  • .Net MVC + EF搭建学生管理系统
  • .Net Remoting(分离服务程序实现) - Part.3
  • .Net Web窗口页属性
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET企业级应用架构设计系列之技术选型
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • @Transactional 详解
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [ Python ]使用Charles对Python程序发出的Get与Post请求抓包-解决Python程序报错问题
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下