Vue3 Ref获取真实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的资料请关注脚本之家其它相关文章!
相关文章
Vue 处理异步加载顺序问题之如何在Konva中确保文本在图片之上显示
在处理Konva中的异步加载顺序问题时,确保在图像加载完成后再添加其他元素是关键,通过将回调函数放在imageObj.onload中,并正确处理变量捕获,我们可以确保文本总是绘制在图片之上,这不仅解决了显示顺序的问题,也为未来的调试提供了明确的方向,感兴趣的朋友一起看看吧2024-07-07
Vue动态构建混合数据Treeselect选择树及巨树问题的解决
这篇文章主要介绍了Vue动态构建混合数据Treeselect选择树及巨树问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-07-07
vue 路由子组件created和mounted不起作用的解决方法
今天小编就为大家分享一篇vue 路由子组件created和mounted不起作用的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-11-11
vue-cli2,vue-cli3,vite 生产环境去掉console.log
console.log一般都是在开发环境下使用的,在生产环境下需要去除 ,本文主要介绍了vue-cli2,vue-cli3,vite 生产环境去掉console.log,具有一定的参考价值,感兴趣的可以了解一下2024-05-05


最新评论