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节点。
  • 用在组件标签上,获取的是组件实例对象。
相关推荐
刘同学有点忙26 分钟前
TypeScript中如何优雅处理ant-design-vue的a-select的默认空值
vue.js·typescript
一颗奇趣蛋30 分钟前
前端项目vscode最优配置(vue3+ts)
前端·vue.js
艾克马斯奎普特38 分钟前
Vue.js 3 渐进式实现之响应式系统——第八节:调度执行
前端·vue.js
陈奕迅本讯39 分钟前
前端-Vue2组件化编程
前端·javascript·vue.js
苏州第一深情1 小时前
【vue+leaflet】自定义控件(五)
前端·javascript·vue.js
枫无痕1 小时前
promise源码解析
前端·vue.js
Zww08911 小时前
vue3+vite+ts使用daisyui/tailwindcss
前端·vue.js·postcss
zoahxmy09291 小时前
Vue3 使用 Signature Pad 实现电子签名(签名位置偏差问题解决)
vue.js
Z编程1 小时前
elemenPlus中,如何去掉el-input中 文本域 textarea自带的边框和角标
前端·javascript·vue.js
jqq6662 小时前
(一)「造轮子」我也写了个Vue3脚手架!(整体介绍)
前端·javascript·vue.js