前言

附上vue3.0文档:Vue3中文文档 - vuejs

2022.10.22 更新

鉴于较多人询问几个高频问题,在此做统一回复

  1. ref.value获取到的是null
    答:检查是否将ref变量return出去了
    答:检查是在哪里进行的console.log,setup函数相当于vue2中的beforeCreate, created阶段,如果直接在setup中直接使用console.log获取ref,返回的自然是null

  2. ref.value获取到的数据怎么使用
    答:在函数、生命周期里,例: myRef.value.className

  3. 获取多个dom,push重复数据
    答:检查setup函数执行了几次

最后,希望在提出疑问前请创建一个新项目,将文章中的示例代码完完整整的拷贝到新项目的app.vue中,运行后可直接查看效果。

Vue 2.x获取DOM

<div ref="myRef"></div>this.$refs.myRef

Vue 3.0获取单个DOM

<template><div ref="myRef">获取单个DOM元素</div>
</template><script>
import { ref, onMounted } from 'vue';export default {setup() {const myRef = ref(null);onMounted(() => {console.dir(myRef.value);});return {myRef};}
};
</script>

Vue 3.0获取多个DOM(一般用于获取数组)

<template><div>获取多个DOM元素</div><ul><li v-for="(item, index) in arr" :key="index" :ref="setRef">{{ item }}</li></ul>
</template><script>
import { ref, nextTick } from 'vue';export default {setup() {const arr = ref([1, 2, 3]);// 存储dom数组const myRef = ref([]);const setRef = (el) => {myRef.value.push(el);};nextTick(() => {console.dir(myRef.value);});return {arr,setRef};}
};
</script>

注:console.dir()可以显示一个对象所有的属性和方法

效果图:


如果本篇文章对你有帮助的话,很高兴能够帮助上你。

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。

vue 3.0 使用ref获取dom元素相关推荐

  1. [vue]data数据属性及ref获取dom

    data项的定义 this.$refs获取dom 获取不到数据 这样中转下才ok 小结: data里不能用this.$ref. 另外使用visjs时候 view-source:http://visjs ...

  2. Vue3--ref使用(解决ref无法获取dom元素的问题)

    众所周知在vue2中,ref主要的作用还是便于快速的获取dom元素或组件,因为ref操作相比document.getElementbyId会减少dom操作的节点消耗. 具体关于vue2中ref和$re ...

  3. ref 引用(vue获取DOM元素)

    ref 引用 jquery 牛逼 简化了程序员操作DOM的过程 vue 优势: MVVM 在 vue 中,程序员不需要操作DOM.只需要把数据维护好!(数据驱动视图) 结论:在 vue 项目,强烈不建 ...

  4. vue中动态获取dom元素进行操作

    这几天我远程面试了一家公司,期间问题我都回答上来了 但有一个问题我很纳闷 就是你说下vue中获取dom元素的方法吧 我说大体上俩中吧  1.vue中 ref的方法 给元素起一个ref名称 通过  th ...

  5. vue 获取dom子元素_vue获取dom元素注意事项

    mounted(){ setTimeout(()=>{ this.contentToggle(); },1000) }, methods:{ contentToggle(){ console.l ...

  6. vue获取dom元素注意问题

    mounted(){setTimeout(()=>{this.contentToggle();},1000)},methods:{contentToggle(){console.log(this ...

  7. vue 获取id元素,vue.js怎么获取dom元素?

    vue.js怎么获取dom元素?下面本篇文章给大家介绍一下vue.js获取dom元素的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 使用Vue.js获取dom元素 标签中添加 ...

  8. vue如何获取div的宽度_vue获取dom元素高度的方法

    获取DOM高度: 要在钩子mounted里面dom结构生成后去获取dom的高度,宽度,修改样式等操作(参照生命周期钩子mounted语法:https://cn.vuejs.org/v2/api/#mo ...

  9. Vue.js中$refs{}获取DOM元素

    如果我们想获取DOM元素,一般使用js中的document.querySelector来获取这个dom节点,然后在获取元素的值,现在Vue提供给我们一种更便捷的方式来获取DOM元素-----$refs ...

最新文章

  1. 微软全球 AKS 女掌门人,这样击破云原生“怪圈”!
  2. Opera浏览器无法观看土豆 优酷 新浪视频的解决办法!
  3. sql数据库基础知识整理,常用函数及常用语法
  4. 基于深度学习的CT图像肺结节自动检测(系列放在一起)
  5. 运放全波整流电路_10种精密全波整流电路
  6. [jQuery基础] jQuery对象 -- 选择器
  7. 正式发布python版本的年份_飞书全新版本π正式发布 高效便捷的团队沟通新工具...
  8. 计算机 360云盘删除,xp系统下如何删除360云盘显示图标
  9. android镜子app,Android镜子应用 一面可编程的镜子
  10. 几何向量:空间三角形内心
  11. 如何修改网页里面的文字和复制网页中限制的文字
  12. 接口测试-post常见数据提交方式
  13. 为什么wps数字前面有撇号_excel表格中数据前有撇号-Excel 如何去除数字前面的撇号...
  14. 2015年基金公司排名排行榜,基金公司排名2015一览
  15. 浅析Kubelet如何上报状态
  16. ViKey加密狗对视频文件进行加密
  17. 格式化 NameNode 提示 SHUTDOWN_MSG: Shutting down NameNode at xxx/xxx.xxx.xxx.xxx
  18. 全景式解读DEX行业格局与发展趋势 |链捕手
  19. 企业邮箱-oa移动办公系统,高效协同办公解决方案
  20. [IT生活推荐]大家一起来玩游戏喽,来的都进!

热门文章

  1. Qt官方示例-正则测试工具
  2. [UVa 1646] Edge Case
  3. linux 终端修改字体大小,linux系统终端修改字体的方法
  4. Centos7 定时关机
  5. 微信如何通过ip访问服务器项目,vue2.0 在微信端如何使用本地IP访问项目
  6. flink+mysql+connector_Flink SQL中connector的定义和实现
  7. Android App通过蒲公英实现更新
  8. java ssh免密登录_SSH免密登录(单信)
  9. 理解目标检测中的老大难:小目标检测
  10. 理解体检报告10个必须项目