<template>
<div>
<!-- 定义一个子组件,并通过 ref 属性给它起个名字,例如 'myChild' -->
<ChildComponent ref="myChild" />
<button @click="callChildMethod">调用子组件方法</button>
</div>
</template>
<script>
import { ref, onMounted } from 'vue';
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
setup() {
// 使用 ref 创建对子组件的引用
const myChild = ref(null);
// 定义一个方法来调用子组件的方法
const callChildMethod = () => {
if (myChild.value) {
myChild.value.childMethod();
}
};
// 在组件挂载后可以访问 myChild
onMounted(() => {
console.log(myChild.value); // 这里可以访问到子组件实例
});
return {
myChild,
callChildMethod
};
}
};
</script>
模板部分:
ref="myChild"
给子组件 ChildComponent
起了一个名字 myChild
,这样可以在父组件中通过 $refs.myChild
访问到这个子组件实例。callChildMethod
方法。脚本部分:
ref
创建了一个响应式的引用 myChild
,初始值为 null
。callChildMethod
方法,当点击按钮时会调用子组件中的 childMethod
方法。onMounted
钩子确保在组件挂载后可以访问到子组件实例。myChild
和 callChildMethod
以便在模板中使用。子组件 (ChildComponent.vue
):
childMethod
,父组件可以通过 myChild.value.childMethod()
来调用这个方法。通过这种方式,父组件可以方便地与子组件进行交互。
上一篇:vue3函数式组件
下一篇:vue vconsole
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站