首页 VueJS Vue3 components 找不到组件里面的方法

Vue3 components 找不到组件里面的方法

作者:胡同里的砖头 围观群众:46 更新于:2024-10-28

父组件调用子组件方法:

问题:父组件需要调用子组件的方法。
解决方案:
在子组件中使用 defineExpose 暴露方法。
在父组件中使用 ref 获取子组件实例并调用方法。

子组件

<template>
<div>
<button @click="sayHello">Say Hello</button>
</div>
</template>

<script setup>
import { ref } from 'vue';

const sayHello = () => {
alert('Hello!');
};

defineExpose({
sayHello
});
</script>
父组件
<template>
<div>
<MyComponent ref="myComponentRef" />
<button @click="callChildMethod">Call Child Method</button>
</div>
</template>

<script setup>
import { ref } from 'vue';
import MyComponent from './MyComponent.vue';

const myComponentRef = ref(null);

const callChildMethod = () => {
myComponentRef.value.sayHello();
};
</script>
//糖语法一定要使用defineExpose 暴露方法

  • 本文标题: Vue3 components 找不到组件里面的方法
  • 文章分类:【VueJS】
  • 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
留言评论
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8