Vue3:标签的ref属性用法

一、情景说明

我们在写前端页面的时候,肯定会遇到获取DOM内容的情况。

以往,我们是用原生的js方法去获取,如document.getXxxx

但是,这中方法会有个问题,如果父组件和子组件的id相同,则会出错。

Vue3中,我们使用ref来获取DOM内容

从而避免这个问题

同时,可以用ref获取组件实例

二、案例

1、用在原生DOM上

标记

html 复制代码
<h2 ref="title2">北京</h2>

获取

javascript 复制代码
	import {ref,defineExpose} from 'vue'

    // 创建一个title2,用于存储ref标记的内容
    let title2 = ref()

暴露变量

javascript 复制代码
defineExpose({title2})	//多个用逗号隔开

2、用在组件标签上

标记

javascript 复制代码
<Person ref="ren"/>

获取

javascript 复制代码
let ren = ref()

ren变量结构,子组件暴露的变量title2位置

三、总结

  • 用在普通DOM标签上,获取的是DOM节点。
  • 用在组件标签上,获取的是组件实例对象。
相关推荐
速易达网络29 分钟前
RuoYi、Vue CLI 和 uni-app 结合构建跨端全家桶方案
javascript·vue.js·低代码
lyj1689972 小时前
vue-i18n+vscode+vue 多语言使用
前端·vue.js·vscode
我在北京coding5 小时前
TypeError: Cannot read properties of undefined (reading ‘queryComponents‘)
前端·javascript·vue.js
海天胜景6 小时前
vue3 获取选中的el-table行数据
javascript·vue.js·elementui
翻滚吧键盘6 小时前
vue绑定一个返回对象的计算属性
前端·javascript·vue.js
乆夨(jiuze)7 小时前
记录H5内嵌到flutter App的一个问题,引发后面使用fastClick,引发后面input输入框单击无效问题。。。
前端·javascript·vue.js
小彭努力中7 小时前
141.在 Vue 3 中使用 OpenLayers Link 交互:把地图中心点 / 缩放级别 / 旋转角度实时写进 URL,并同步解析显示
前端·javascript·vue.js·交互
xiguolangzi8 小时前
vue3+element-plus el-table列的显隐、列宽 持久化
前端·javascript·vue.js
大猩猩X8 小时前
vxe-upload vue 实现附件上传、手动批量上传附件的方式
vue.js·vxe-ui
come112349 小时前
Vue 响应式数据传递:ref、reactive 与 Provide/Inject 完全指南
前端·javascript·vue.js