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节点。
  • 用在组件标签上,获取的是组件实例对象。
相关推荐
毕设源码-郭学长38 分钟前
【开题答辩全过程】以 基于vue在线考试系统的设计与实现为例,包含答辩的问题和答案
前端·javascript·vue.js
詩句☾⋆᭄南笙43 分钟前
初识Vue
前端·javascript·vue.js
qb1 小时前
vue3.5.18-编译-生成ast树
前端·vue.js·架构
我的写法有点潮1 小时前
Vue实例都做了什么?
前端·javascript·vue.js
鹏多多2 小时前
vue3监听属性watch和watchEffect的详解
前端·javascript·vue.js
小蒜学长2 小时前
基于SpringBoot+Vue的健身房管理系统的设计与实现(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端
不想上班只想要钱3 小时前
vue3 ts:声明的一个数组不能将类型“boolean”分配给类型“never”。
前端·vue.js
拉不动的猪12 小时前
简单回顾下Weakmap在vue中为何不能去作为循环数据源,以及替代方案
前端·javascript·vue.js
java水泥工14 小时前
校园管理系统|基于SpringBoot和Vue的校园管理系统(源码+数据库+文档)
数据库·vue.js·spring boot
正义的大古16 小时前
OpenLayers常用控件 -- 章节七:测量工具控件教程
前端·javascript·vue.js·openlayers