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节点。
  • 用在组件标签上,获取的是组件实例对象。
相关推荐
Cobyte2 小时前
23.Vue Vapor 组件 attrs 的实现
前端·javascript·vue.js
柯克七七4 小时前
给老项目加了 TypeScript,本来只想自己爽,结果全公司代码审查标准被我抬高了
前端·vue.js·typescript
自然 醒6 小时前
前端如何实现在线预览office常见文件功能?
前端·vue.js
肉肉不吃 肉7 小时前
前端调试跨域如何解决
前端·vue.js
卓怡学长7 小时前
w268基于springboot + vue 物流系统
java·数据库·vue.js·spring boot·spring·intellij-idea
迅速的自行车1 天前
从一段模板说起
前端·javascript·vue.js
阿奇__1 天前
uniapp微信小程序图片上传含回显组件(拍照,相册)
前端·javascript·vue.js
前端甜糖1 天前
前端如何实现在线预览office常见文件功能?
前端·vue.js
ljs6482739511 天前
智慧商城(Smart Mall):基于 Spring Boot + Vue 3 的现代化电商平台实战
linux·vue.js·spring boot·后端
析数塔1 天前
2026前端框架深度解析:React Compiler、Angular Zoneless、Vue 3.5重写游戏规则
前端·vue.js·react.js