vue2中,ref使用:
在 div 元素上绑定了 ref 属性,并命名为 hello,接下来我们直接使用 this.$refs.hello 的方式就可以获取到该 DOM 元素了。
<template> <div id="app"> <div ref="hello">Vue2,ref获取dom元素</div> </div> </template> <script> export default { mounted() { console.log(this.$refs.hello); // <div ref="hello">Vue2,ref获取dom元素</div> }, }; </script>
vue3中,ref使用:
Vue3 中通过 ref 访问元素节点与 Vue2 不太一样,在 Vue3 中,是没有 this 的,所以当然也没有 this.$refs。想要获取 ref,我们只能通过声明变量的方式。
给 div 元素添加了 ref 属性,为了获取到这个元素,我们声明了一个与 ref 属性名称相同的变量 hello,然后我们通过 hello.value 的形式便获取到了该 div 元素。
1 2 3 4 5 6 7 8 9 10 | <template> <div ref= "hello" >Vue3, ref获取dom元素</div> </template> <script setup lang= "ts" > import { onMounted, ref } from "vue" ; const hello = ref( null ); onMounted(() => { console.log(hello.value); // <div ref="hello">Vue3, ref获取dom元素</div> }); </script> |
注意点:
- 变量名称必须要与 ref 命名的属性名称一致。
- 通过 hello.value 的形式获取 DOM 元素。
- 必须要在 DOM 渲染完成后才可以获取 hello.value,否则就是 null。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通