【vue3|第11期】Vue3中的ref属性:让元素引用变得简单

日期:2024年6月19日
作者:Commas
签名:(ง •_•)ง 积跬步以致千里,积小流以成江海……
注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^
1.01365 = 37.7834;0.99365 = 0.0255
1.02365 = 1377.4083;0.98365 = 0.0006

说在最前面:本文 vue3 的示例代码,在没有另外声名的情况下,均采用 <script setup> 组合式代码风格,风格统一,避免混乱,请各位新老食客放心食用哈 ^ _ ^


文章目录

  • 一、前言
  • 二、如何定义ref?
  • 三、ref 属性有什么作用?
  • 四、什么场景下使用 ref 属性?
  • 五、注意事项
  • 六、总结


在这里插入图片描述


一、前言

Vue3 中,ref 是一个特殊的属性,它可以附加到 HTML 元素任何组件 上,用来创建对 DOM 元素组件实例 的引用 。这对于需要直接操作 DOM 元素的场景非常有用,例如读取元素的属性设置元素的样式调用组件的方法等。

二、如何定义ref?

Vue3 中,可以通过 ref() 函数来创建一个 ref 对象。这个数据对象包含一个 value 属性,该属性的值就是被引用的 DOM 元素组件实例。当你需要访问这个 DOM元素组件实例 时,可以通过 value 属性 来获取。

<template><div ref="myDiv">Hello, Vue3!</div>
</template><script setup>import { ref } from 'vue';const myDiv= ref(null);// 在组件挂载后,可以通过myDiv.value访问到DOM元素onMounted(() => {console.log(myElement.value); // 输出: <div>Hello, Vue3!</div>});</script>

三、ref 属性有什么作用?

ref 属性 的主要作用是提供一种便捷的方式来 访问和操作 DOM 元素或组件实例。通过 ref 属性,我们可以直接访问元素的属性和方法,无需通过事件或数据绑定来进行操作。这在某些场景下可以大大简化我们的代码,提高开发效率。如:

  • 改变元素的大小、位置等样式属性
  • 添加或移除事件监听器
  • 调用原生的JavaScript方法

四、什么场景下使用 ref 属性?

ref 属性通常用于以下场景:

  • 访问和操作 DOM 元素:当你需要直接访问和操作 DOM 元素时,可以使用 ref 属性。例如,获取输入框的值、设置元素的样式等。
  • 调用组件方法:当你需要调用子组件的方法时,可以使用 ref 属性。例如,调用子组件的某个功能方法。
  • 访问子组件实例:当你需要访问子组件的实例时,可以使用 ref 属性。例如,获取子组件的数据或监听子组件的事件。

五、注意事项

  • 尽量避免过度使用 ref 属性。在大多数情况下,我们应该优先使用 Vue数据绑定事件系统 来实现功能,只有在必要时才使用 ref 属性。
  • ref 只有在组件挂载完成后才能获取到对应的元素组件实例
  • ref 引用的元素在后续的操作中被移除或替换,对应的 ref 可能也会变为 undefined

六、总结

ref 属性为我们提供了一种便捷的方式来访问和操作 DOM 元素组件实例,使得我们可以更加灵活地处理各种场景。但是,我们需要谨慎使用 ref 属性,避免过度依赖它,保持代码的可维护性可读性


参考文章:

  • Vue.js

版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/139787397

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/30795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

招聘主播?小心是大陷阱!!!

高薪招聘主播的骗局通常涉及一系列精心设计的步骤&#xff0c;旨在引诱求职者上钩并从中获利。以下是这种骗局常见的几个关键环节&#xff1a; 首先&#xff0c;骗子会通过各种渠道发布诱人的招聘信息&#xff0c;声称正在寻找有潜力的主播&#xff0c;并承诺提供高额的底薪和…

虚拟3D沉浸式展会编辑平台降低了线上办展的门槛

在数字化浪潮的引领下&#xff0c;VR虚拟网上展会正逐渐成为企业展示品牌实力、吸引潜在客户的首选平台。我们与广交会携手走过三年多的时光&#xff0c;凭借优质的服务和丰富的经验&#xff0c;赢得了客户的广泛赞誉。 面对传统展会活动繁多、企业运营繁忙的挑战&#xff0c;许…

【绝对有用】刚刚开通的GPT-4o计算这种数学题目出现问题了

欢迎关注如何解决以上问题的方法&#xff1a;查看个人简介中的链接的具体解决方案

[Qt的学习日常]--窗口

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、窗口的分…

全面了解虚拟线上会议室的核心功能和优势,助力企业高效协作

在现代办公环境中&#xff0c;虚拟线上会议室日益普及&#xff0c;成为企业沟通协作的重要工具。虚拟会议室的出现不仅简化了传统会议的复杂流程&#xff0c;还提供了一系列优势功能&#xff0c;提升了用户的会议体验。 一、虚拟线上会议室的优势功能 1、实时音视频会议 虚拟线…

全网最易懂,开源时序数据库influxDB,实际应用评测

前言&#xff1a; 当今是信息爆炸的时代&#xff0c;在处理高频数据时&#xff0c;关系型数据库oracle/mysql明显表现出乏力&#xff0c;因秒级、毫秒级高频数据&#xff0c;分分钟可以把关系型数据库的表塞爆。在日常生活工作中&#xff0c;我们经常会遇到哪些需要高频分析的场…

[自动驾驶 SoC]-3 英伟达Orin

NVIDIA Jetson AGX OrinTM series (资料来源&#xff1a;nvidia-jetson-agx-orin-technical-brief.pdf) 1 整体介绍 1) Orin SoC结构 Orin SoC&#xff0c;如下图所示&#xff0c;由一个NVIDIA Ampere architecture GPU, Arm Cortex-A78AE CPU, 下一代深度学习核视觉处理加速…

企业防盗版,如何保障上网安全

信息化的发展企业日常办公越来越依赖互联网。然而&#xff0c;终端及普通PC在访问互联网过程中&#xff0c;会面临各种不容忽视的风险。这些风险包括&#xff1a; 员工主动故意的数据泄漏&#xff1a;员工可能故意泄露敏感信息。后台应用程序外发信息&#xff1a;一些应用程序…

代码覆盖率:衡量测试的有效性

在软件开发领域&#xff0c;确保代码的可靠性和稳健性至关重要。实现这一目标的关键实践之一是通过测试。但是&#xff0c;测试本身需要进行测量和评估&#xff0c;以确保其有效性。这就是代码覆盖率发挥作用的地方。代码覆盖率是一种指标&#xff0c;它量化了测试期间程序源代…

遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程

遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程 在遥感影像上人工制作分类数据集采用python+gdal库制作数据集挑选分类模型(RF、KNN、SVM、逻辑回归)选择随机森林模型建模分类遥感图像预测在遥感影像上人工制作分类数据集 1.新建shp文件 地理坐标系保持和影像…

本地大模型服务 Ollama:从安装到使用

文章目录 前言一、下载安装1.1 官网安装1.2 压缩包安装1.3 docker 安装二、命令行使用2.1 常用命令2.2 模型列表2.3 使用三、Open-WebUI3.1 安装3.2 修改语言3.3 使用参考前言 Ollama 是专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计的开源框架,它有如下几个特点…

如何应对 Android 面试官 -> MVVM 实战一个新闻客户端 (上)

前言 本章我们基于重构的方式进行一个 MVVM 的实战&#xff0c;我们将一个新闻列表的普通实现&#xff0c;一步一步的改造成 MVVM 的架构模式&#xff0c;一共分为上中下三个章节&#xff1b; 传统方式实现 首先咱们来看具体实现的最终效果&#xff0c;就是一个新闻列表页面&a…

connect-caption-and-trace——用于共同建模图像、文本和人类凝视轨迹预测

介绍 论文地址&#xff1a;https://arxiv.org/abs/2105.05964 源码地址&#xff1a;https://github.com/facebookresearch/connect-caption-and-trace 在过去&#xff0c;计算机视觉和自然语言处理领域的模型和算法的发展只有偶尔的重叠&#xff0c;但近年来&#xff0c;这两…

python-04

str.spilt() str.spilt(str" ", num string.count(str)); str&#xff1a;分隔符&#xff0c;默认为所有的空字符&#xff0c;包括空格、换行符"\n"、制表符"\t"等。 num&#xff1a;分隔次数 str "小时候 总有他们在耳边叮咛嘱咐 小…

第四届人工智能、机器人和通信国际会议(ICAIRC 2024)

第四届人工智能、机器人和通信国际会议&#xff08;ICAIRC 2024&#xff09; 2024 4th International Conference on Artificial Intelligence, Robotics, and Communication 2024年12月27-29日 | 中国厦门 重要信息 会议官网&#xff1a;www.icairc.net 录用通知时间&…

▶《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch1 基本概念

PPT 截取有用信息。 课程网站做习题。总体 MOOC 过一遍 1、视频 学堂在线 习题 2、相应章节 过电子书 复习 3、总体 MOOC 过一遍 学堂在线 课程页面链接 中国大学MOOC 课程页面链接 B 站 视频链接 PPT和书籍下载网址&#xff1a; 【github链接】 onedrive链接&#xff1a; 【…

Python4 操作MySQL数据库

通过python的pymysql库连接到本地的MySQL数据库&#xff0c;并执行查询操作来获取数据&#xff0c;然后打印出每一行的数据&#xff0c;这里以一个简单的学生表为例进行介绍。 1. MySQL的安装与数据准备 首先需要安装MySQL&#xff0c;在安装完成之后使用Navicat与本地数据库…

Docker 部署项目,真的太雅了~

大家好&#xff0c;我是南城余&#xff01; 最近在找工作&#xff0c;正好手里有台服务器&#xff0c;之前项目上线用的宝塔部署项目上线&#xff0c;在公司实习了一年后&#xff0c;发现如今项目部署都使用的是容器化部署方案&#xff0c;也就是类似于和 Docker 一样的部署方案…

海外仓系统能解决海外仓哪些难题?海外仓标准化管理实用指南

海外仓管理问题常常导致业务流程变慢&#xff0c;根据我们的调查显示&#xff0c;至少有48%的海外仓每周都会出现一些“小意外”。甚至这些小问题每天都在发生&#xff0c;问题的出现已经严重影响到了海外仓业务的进行。今天我们将重点分析海外仓比较常见的一些问题&#xff0c…

springboot vue 开源 会员收银系统 (7) 收银台的完善 新增开卡 结算

前言 完整版演示 开发版演示 在前面的开发中&#xff0c;我们成功完成了商品分类和商品信息的搭建&#xff0c;开发了收银台基础。现在&#xff0c;我们将进一步完善收银台的功能&#xff0c;添加开卡和结算功能&#xff0c;并在后台实现会员卡的创建和订单保存。同时&#xff…