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节点。
  • 用在组件标签上,获取的是组件实例对象。
相关推荐
勇敢di牛牛1 小时前
vue3 + mars3D 三分钟画一个地球
前端·vue.js
我是日安3 小时前
从零到一打造 Vue3 响应式系统 Day 27 - toRef、toRefs、ProxyRef、unref
前端·javascript·vue.js
Q_Q19632884753 小时前
python+vue的在线租房 房屋租赁系统
开发语言·vue.js·spring boot·python·django·flask·node.js
不如喫茶去3 小时前
VUE查询-历史记录功能
前端·javascript·vue.js
武天4 小时前
说说你对slot的理解?slot使用场景有哪些?
vue.js
武天4 小时前
vue中,key的原理
vue.js
武天4 小时前
如何打破scope对样式隔离的限制?
vue.js
武天4 小时前
Vue中的$nextTick有什么作用?
vue.js
武天4 小时前
刷新浏览器后,Vuex的数据是否存在?如何解决?
vue.js
武天4 小时前
你是怎么处理vue项目中的错误的?
vue.js