在setup()钩子函数中调用

父组件

<template><div>我是父组件<children ref="childrenRef" /><button @click="handleChildren">触发子组件</button></div>
</template><script lang="ts">import { ref, defineComponent } from 'vue'import Children from './components/Children.vue';export default defineComponent({components: { Children }setup() {// ref的泛型除了指定any外 还可以指定<InstanceType<typeof Children>>const childrenRef = ref<any>();const handleChildren = () => childrenRef.value.isChildren();return {childrenRef,handleChildren}},})
</script>

子组件:

<template>
<div>我是子组件
</div>
</template><script lang="ts">import { defineComponent } from 'vue'export default defineComponent({setup() {const isChildren = () => {console.log("我是子组件");}return {isChildren,}}})
</script>

如果是在setup()钩子函数中使用,父组件通过ref获取到子组件实例后,直接.value.函数名即可调用子组件所定义的函数。其中ref的泛型可以指定anyInstanceType<typeof Children>

在<srcipt setup>中调用

父组件

<template><div>我是父组件<children ref="childrenRef" /><button @click="handleChildren1">触发子组件1</button><button @click="handleChildren2">触发子组件2</button></div>
</template><script setup lang="ts">import { ref } from 'vue'import Children from './components/Children.vue';const childrenRef = ref<InstanceType<typeof Children>>();const handleChildren1 = () => childrenRef.value?.isChildren();const handleChildren2 = () => childrenRef.value?.isChildren2();
</script>

子组件

<template><div>我是子组件</div>
</template><script setup lang="ts">import { defineExpose } from 'vue';const isChildren = () => {console.log("我是子组件的第一个方法");}const isChildren2 = () => {console.log("我是子组件的第二个方法");}defineExpose({ isChildren, isChildren2 })
</script>

<srcipt setup>中调用和setup()钩子函数中调用不同的是:子组件中要通过defineExpose将方法暴露给父组件。

vue3 setup中父组件通过Ref调用子组件的方法相关推荐

  1. Angular中父组件通过ViewChild调用子组件的方法

    场景 Angualr中通过原生js和ViewChild的方式获取dom: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10586 ...

  2. vue 子级拿值_Vue 父组件主动获取子组件的值,子组件主动获取父组件的值

    父组件主动获取子组件的值 1. 在调用子组件的时候定义一个ref-> ref="header" 2. 在父组件中通过this.$refs.header.属性,调用子组件的属性 ...

  3. Vue中父组件调用子组件的方法

    场景 SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图: SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图_BADAO_LIUMANG_ ...

  4. 支付宝小程序组件传参,父组件调用子组件方法ref

    组件传参 子组件中 //js中声明 Component({props: {title: "标题", // 支付宝小程序props变量传参不能传对象,设置类型,只能传字符串onCon ...

  5. react如何在父组件中调用子组件事件

    父组件是如何使用子组件的事件的,下边数值累加的例子 类组件 将子组件的this传到父组件,给父组件添加一个属性,值为this,之后就可以通过父组件的属性调用子组件的事件了 import React,{ ...

  6. react 父组件调用子组件方法--通过 props 实现

    父组件中 // 引入子组件 import GlobalTable from '../globalComponents/global-table'export default class Assuran ...

  7. 微信小程序父组件调用子组件方法

    当父组件引用了子组件的时候,会遇到父组件执行子组件的方法,比如下拉刷新上拉加载等事件只有在页面中才能检测到,但是获取数据的方法在子组件,这时就可以执行子组件方法. 思路很简单,类似于vue中给子组件加 ...

  8. VUE Element UI 父组件调用子组件方法变量,子组件使用父组件变量

    一.父组件调用子组件的方法 步骤拆解: (1)父组件:1.渲染调用子组件 2.导入子组件 3.声明子组件变量 4.调用子组件 (2)子组件:1.实现子组件自己的渲染.数据处理功能 2.使用父组件的变量 ...

  9. vue父组件调用子组件方法

    vue父组件调用子组件方法 比如,父组件有一个弹窗组件,在子组件里定义自己的显示隐藏效果,父组件调用. 通过ref调用子组件的方法 父组件代码 <template><div>/ ...

最新文章

  1. CCNp笔记(EIGRP)
  2. java 打电话_第四十二篇----拨打电话
  3. atmega8 Flash的使用
  4. *13.图的存储方式
  5. 高性能jdbc封装工具 Apache Commons DbUtils 1.6(转载)
  6. Android应用的基本组件介绍
  7. Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine))
  8. P2257-YY的GCD【莫比乌斯反演】
  9. c vector用法是什么
  10. [Unity]导入插件出现编译错误的解决办法:在工程关闭时重新添加一次插件
  11. 1009. clion调试段错误
  12. 敏捷开发系列学习总结(14)——Spotify敏捷模式详解三部曲第二篇:研发过程
  13. linearLayout和二级菜单联动
  14. 二进制安装mysql集群_实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6
  15. 鸿蒙系统的结构图,一图看懂鸿蒙系统中的JS开发框架!
  16. c#如何取得事件注册的方法
  17. Oracle数据库恢复删除数据的方法
  18. JS-获取当前URL的参数
  19. visual basic与python_学visual basic还是 python?
  20. 中国六大最忙和六大最懒城市

热门文章

  1. 中国医疗保健分析测试服务行业市场供需与战略研究报告
  2. Win11系统怎么开启平板模式
  3. 攻击法国海军病毒Conficker在中国网络同步蔓延
  4. 区间求和Java,matlab中95%置信区间的求和高斯分布
  5. ACCESS常见的一些问题及解决的方法
  6. AuNP@SiO2二氧化硅包裹的金纳米粒子|AuNP@Al2O3氧化铝包覆核壳结构金纳米颗粒|齐岳生物
  7. 分享电影《了不起的老爸》
  8. HarmonyOS - 华为智慧屏网络卡顿、跳帧解决方案
  9. 用PHPnow快速在自己的电脑上搭建PHP虚拟主机
  10. 非遗“洋蛇灯”国家级传承人身患尿毒症 期待年轻人加入