vue3获取子组件真实dom元素和子组件属性方法
坑点
- 1.子组件使用setup语法糖时,默认不开启向外导出属性方法需要添加defineExpose方法手动导出
- 2.vue3中ref在普通标签上获取真实dom元素为divRef.value
- 3.vue3在自定义子组件上获取真实dom元素方法为childRef.value.$el
父组件
<template>
<div class="content">
<test ref="childRef"></test>
<div ref="divRef"></div>
</div>
</template>
<script setup>
import test from "./test.vue";
import { ref } from "vue";
const childRef = ref(null);
const divRef= ref(null);
onMounted(() => {
console.log("childRef", childRef.value);
console.log("childRef: dom", childRef.value.$el);
console.log("divRef: dom", divRef.value);
});
</script>
子组件
<template>
<div class="content">
{{childValue}}
</div>
</template>
<script setup>
const childValue = ref('子组件')
defineExpose({
childValue
})
</script>