首页 > 其他分享 >vue3父组件调用子组件方法的大坑

vue3父组件调用子组件方法的大坑

时间:2024-10-11 10:23:06浏览次数:9  
标签:调用 callChildMethod 大坑 childMethod vue vue3 组件 import

父组件:

<template>
  <ChildComponent ref="callChildMethod" />
</template>
 
<script setup>
import { ref } from 'vue';
import ChildComponent from './ChildComponent.vue';
 
const callChildMethod = ref();
 
// 可以在任何适当的时机调用子组件的方法
function parentMethod() {
  if (callChildMethod.value) {
    callChildMethod.value.childMethod();
  }
}
</script>

子组件

<template>
  <div>子组件内容</div>
</template>
 
<script setup>
import { defineExpose } from 'vue';//要被父组件调用的方法不能这样定义
const childMethod = ()=>{
    console.log('子组件方法被调用');
}
function childMethod() {
  console.log('子组件方法被调用');
}
//注意这点要暴露出去
defineExpose ({
    childMethod
})
</script>

 

标签:调用,callChildMethod,大坑,childMethod,vue,vue3,组件,import
From: https://www.cnblogs.com/tlfe/p/18457887

相关文章

  • vue3 props 响应式测试,props使用,ref独立ts解构
    概论vue3的props是深度响应的,深度数据改变都能监听到,并改变模板3.2左右的版本解构props子对象不能响应式若遇到props子对象不能响应式监听,一般就是改变之前的数据和改变之后的数据没产生变化,所以没发生响应式代码父组件<template><divclass='box'>demo<c......
  • springboot多项目融合为springcloud微服务项目(2)之各组件之间的作用
    一、各组件之间的作用1、Nacos主要用于服务主持与发现、配置中心、负载均衡等使用的方法为:nacos依赖①、引用其nacos-discovery和nacos-configdiscovery:主要用于将服务注册到nacos中config:主要用于发现nacos中的配置文件列表,找到对应的配置文件②、将连接nacos的配置信息......
  • 在Vue3中如何实现四种全局状态数据的统一管理?
    四种全局状态数据在实际开发当中,会遇到四种全局状态数据:异步数据(一般来自服务端)、同步数据。同步数据又分为三种:localstorage、cookie、内存。在传统的Vue3当中,分别采用不同的机制来处理这些状态数据,而在Zova中只需要采用统一的Model机制状态数据传统的Vue3Zova异......
  • web端ant-design-vue Modal.info组件自定义icon和title使用小节
     web端ant-design-vueModal.info组件自定义icon和title整理小节,最近在项目中用到了自定义icon和title的功能,经过测试发现,如果自定义icontitle会自动换行,尝试直接修改样式和穿透方式都没有效果,最后采取了一个巧妙的方式,将icon和title放在一个自定义组件内,完美解决!代码如下......
  • ant-design 使用Modal组件报错问题记录
    打开modal组件会提示如下报错信息高版本chrome浏览器会出现这个问题 原因是:不能在获得焦点的元素或其祖先上使用aria-hidden解决方案:全局添加如下CSS,暂时将Modal中该属性的元素隐藏掉.ant-modaldiv[aria-hidden="true"]{display:none!important;} ......
  • 组件间通信--插槽
    插槽(slot)可以实现父与子组件间通信,即想让父组件在指定位置插入一些信息。插槽分为三种:默认插槽、具名插槽、作用域插槽默认插槽子组件代码:<h1>我是子组件默认插槽--父组件中子组件标签中的数据会放入slot中</h1><!--默认插槽--><slot></slot>父组件代码:......
  • vue3+ts中实现人脸识别拍照上传,要求自动人脸框固定居中,可自动拍照识别,也可手动拍照识
    效果图使用技术face-api.js,canvas1、npm安装face-api.jsnpminstallface-api.js2、下载face-api.js的models下载models放在\public\models目录3、创建face.vue组件<template> <divstyle="height:calc(100vh-140px);display:flex;justify-content:cente......
  • 百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现
    本文由百度技术团队分享,引用自百度Geek说,原题“百度AndroidIMSDK组件能力建设及应用”,本文进行了排版和内容优化。1、引言移动互联网时代,随着社交媒体、移动支付、线上购物等行业的快速发展,对即时通讯功能的需求不断增加。对于各APP而言,接入IMSDK(即时通讯软件开发工具包)能......
  • Vue3中Watch的同步和异步
    在Vue3中,watch是一个强大的工具,适合监视响应式数据的变化并处理副作用逻辑。最近在做CodeReview的时候,发现了一些对watch使用上不太合理的地方,整理了一个类似的例子。案例分析先来看看例子:<template>{{dataList}}</template><scriptsetuplang="ts">import{......
  • 组件间通信provide和inject
    vue3提供两种方法,分别为(爷爷提供)provide(提供)和(孙子)inject(注入)。可以实现隔辈传入数据,且孙子组件可以修改爷爷提供的数据。即如果子组件再调用子组件,那么父组件可以通过provide和inject来实现父孙志坚消息通行。①实现父子组件调用子组件,子组件再调用子组件②父组件通过pr......