Vue3 Ref 获取真实 DOM 实战:选项式与组合式 API 详解
作者:组件花园时间:2026-10-30 20:19:57浏览:640
本文详解 Vue3 中通过 Ref 获取真实 DOM 的方法。对比选项式 API 中 this.$refs 的使用与组合式 API 中 ref() 函数的响应式引用机制,涵盖普通元素与子组件的获取方式,并提供完整代码示例,帮助开发者在 MVVM 框架下高效操作 DOM。
正文
在使用 Vue、React 等 MVVM 框架进行项目开发时,通常无需直接手动操作 DOM,但在某些场景下仍不可避免,例如获取元素的宽高、元素在屏幕上的 XY 坐标位置或实现 DIV 拖拽等功能。随着 Vue 版本的迭代,Vue3 中获取真实 DOM 的方法也发生了相应变化。

Vue3 与 DOM 操作
一、前言
ref() 函数用于注册元素或子组件的引用。它接收一个内部值,并返回一个响应式的、可更改的 ref 对象,该对象仅包含一个指向其内部值的属性 .value。
二、利用 Ref 获取真实 DOM
- 在选项式 API 中
<template>
<!-- 普通元素 -->
<div ref='eleBox' class='box'></div>
<!-- 子组件 -->
<ChildComponent ref='childCom' />
</template>
<script>
export default {
components: {
ChildComponent,
},
mounted() {
let eleBox = this.$refs.eleBox
// eleBox 就是获取的真实DOM对象,可以进行DOM相关的操作
eleBox.style.backgroundColor = '#f0f'
// 获取子组件实例
console.log(this.$refs.childCom)
}
}
</script>- 在组合式 API 中
<!-- 普通元素 -->
<div ref='eleBox' class='box'></div>
<!-- 子组件 -->
<ChildComponent :ref="(el) => childCom = el" />
<script setup>
import { ref } from 'vue'
let eleBox = ref()
// eleBox.value 就是获取的真实DOM对象
eleBox.value.style.width = '200px'
let childCom = ref()
// childCom.value 就是获取的子组件实例对象
</script>以上即为 Vue3 中通过 Ref 获取真实 DOM 的实战内容,更多关于 Vue3 Ref 获取真实 DOM 的资料,敬请关注本站其他相关文章!
作者最新文章
electron-builder打包与发布Electron应用
2026-11-01 05:18:32
Vue结合el-table实现表格行拖拽排序(基于sortablejs)
2026-11-01 01:30:37
详解如何在Vue中进行表单自定义验证
2026-11-01 01:17:28
UniApp 项目中 vue.config.js 配置指南
2026-11-01 00:21:50
uni-app全局变量的四种实现方式总结
2026-11-01 00:15:49
