Vue3 父组件调用子组件方法 defineExpose
父组件代码:
<template> <div class="home"> <HelloWorld ref="childRef"></HelloWorld> <button @click="getChild">触发子组件方法</button> </div> </template> <script> import HelloWorld from './components/HelloWorld.vue' import { ref } from "vue"; export default { name: 'App', components: { HelloWorld }, setup(){ const childRef = ref(); const getChild = () => { // 第三步: 调用子组件的方法或者变量,通过value childRef.value.doSth("随便传值!"); } return{ getChild, childRef } } } </script>
子组件代码:
<template> <div class="hello"> </div> </template> <script> import {defineExpose} from 'vue' export default { name: 'HelloWorld', props: { msg: String }, setup() { const doSth = () => { console.log("子组件的 doSth 方法执行了!"); } defineExpose({doSth}) return{ doSth } } } </script>
注意事项: 一定要记得导出!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程