vue中ref的用法

vue中ref的用法

在项目中使用ref时有时候直接取值,有时候返回的却是一个数组,不知其中缘由,后查了一下ref用法,所以总结一下.

1.绑定在dom元素上时,用起来与id差不多,通过this.$refs来调用:
<div id="passCarEchart" ref="passCarEchart" style="height: 300px; width: 100%"></div>console.log(this.$refs.passCarEchart)

在这里插入图片描述
看到打印出来就是绑定的dom对象,可以用来执行一些dom操作,比如操作样式,获取属性等:

let passCarEchart= this.$refs.passCarEchart
passCarEchart.style.height = '200px'
passCarEchart.style.background = 'red'
console.log(passCarEchart.clientHeight)
2.如果refs自身的dom,或父级的dom是通过v-for渲染出来的,vue框架就会把refInFor设置成true,然后ref.key在registerRef函数就被设置成数组
<divv-for="item in csGroupNameArr":key="item"
><div ref="arrayDiv">{{ item }}</div>
</div>
this.$nextTick(() => {console.log(this.$refs.arrayDiv,'arrayDiv')})

在这里插入图片描述

3.ref除了这两个用法,还有另一种用法,绑定在组件标签上:

<CheckPointref="checkPoint"v-model="checkPointNumbers"@clearData="clearCheckPointData"></CheckPoint>
console.log(this.$refs.checkPoint)

在这里插入图片描述
可以看到这次和我们之前绑定在dom元素上有很大的不同,这次获取到的是一个VueComponent对象,里面有这个组件的各个属性,这些属性里面有一个$el,这就是dom对象,就是和我们直接绑定在dom元素上获取的一样:

console.log(this.$refs.checkPoint.$el)

在这里插入图片描述
通过$refs获取的对象中,我们可以看到里面还有我们设置在data里面的变量,我们是可以直接通过这种ref的方式去修改,它就等于拿到那个组件的this,可以直接调用,不仅是data里面的变量,还有methods里面的方法.

4.这种用法还可以在用ui框架的组件的时候,ui框架给我们提供了很多组件的方法,就是要通过这个ref去调用,比如说element-ui的树形组件

例子:

<el-form ref="personDialogForm" :inline="true" class="dialog-form" :model="form" :rules="dialogRules">

这里就不多介绍用法了,一般组件库官网中各自的用法.

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

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

相关文章

HDR 成像技术学习(四)

HDR(High Dynamic Range,高动态范围)仿佛是成像领域永恒的话题,动态范围越大,图像能清晰呈现的明暗差别也就越大。与传统的SDR(标准动态范围)相比,HDR图像能够以更高质量同时显示画面的亮部和暗部。 随这些年CMOS图像传感器工艺技术进步,以及后端数字信号处理算力的提升…

如何挑选护眼灯?光照均匀度、色温、眩光这3点!

光照环境对我们的生活质量影响深远&#xff0c;尤其在孩子的成长过程中&#xff0c;良好的光照环境对其学习效率、视力保护都至关重要。光照中的很多因素都对视力有着或大或小的影响&#xff0c;本文将从光照均匀度、眩光、色温三个关键点&#xff0c;深入浅出地让消费者了解其…

第28章_mysql缓存策略

文章目录 MySQL缓存方案目的分析缓存层作用举例 缓存方案选择场景分析 提升MySQL访问性能的方式MySQL主从复制读写分离连接池异步连接 缓存方案缓存和MySQL一致性状态分析制定读写策略 同步方案canalgo-mysql-transfer 缓存方案的故障问题及解决缓存穿透缓存击穿缓存雪崩缓存方…

TOUGH系列软件教程

查看原文>>>全流程TOUGH系列软件实践技术应用 TOUGH系列软件是由美国劳伦斯伯克利实验室开发的&#xff0c;旨在解决非饱和带中地下水、热运移的通用模拟软件。和传统地下水模拟软件Feflow和Modflow不同&#xff0c;TOUGH系列软件采用模块化设计和有限积分差网格剖分…

Python 获取北上广深历史天气数据并做数据可视化

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 知识点: 动态数据抓包 requests发送请求 结构化非结构化数据解析 开发环境: python 3.8 运行代码 pycharm 2022.3.2 辅助敲代码 专业版 requests 发送请求 pip install requests parsel 解析数据 pip install parsel …

k8s之Helm

理论&#xff1a; 什么是 He lm 在没使用 helm 之前&#xff0c;向 kubernetes 部署应用&#xff0c;我们要依次部署 deployment、svc 等&#xff0c;步骤较繁琐。 况且随着很多项目微服务化&#xff0c;复杂的应用在容器中部署以及管理显得较为复杂&#xff0c;helm 通过打包…

微信公众号会员系统怎么做

一、引言 在这个信息爆炸的时代&#xff0c;微信公众号已经成为了企业和个人品牌的重要宣传阵地。而在公众号运营过程中&#xff0c;会员系统是非常重要的一环。通过建立会员系统&#xff0c;你可以更好地管理粉丝、提升用户黏性&#xff0c;让你的品牌更加强大。本文将为你详…

IDEA导入jar包

通过maven导入本地包 mvn install:install-file -DfileD:\WebProject\ERP\zhixing-heyue-erp-server\zxhy-service-api\src\main\java\com\zxhy\service\api\invoice\baiwang\lib\com_baiwang_bop_sdk_outer_3_4_393.jar -DgroupIdcom.baiwang -DartifactIdbaiwang.open -Dver…

C++——内存管理(new/delete使用详解)

C内存管理 本章思维导图&#xff1a; 注&#xff1a;本章思维导图对应的xmind文件和.png文件已同步导入至资源 1. C/C内存区域的划分 在C/C中&#xff0c;内存区域主要划分为&#xff1a;内核区域、栈区、内存映射段、堆区、数据段、代码段等区域&#xff0c;如图&#xff1…

在搭建企业知识库时,这三个重要方面可不能忽略

随着信息时代的到来&#xff0c;企业面临着海量的信息和知识的挑战。为了更好地组织、管理和利用企业内部的知识资源&#xff0c;越来越多的企业开始搭建自己的知识库系统。 企业知识库是一个集中存储和管理知识、经验和信息的平台&#xff0c;它不仅可以提高企业的协作效率&a…

mfc140u.dll丢失怎么修复?4种亲测有效的方法分享

在计算机使用过程中&#xff0c;我们可能会遇到各种各样的问题&#xff0c;其中之一就是某些重要的dll文件丢失。DLL文件是动态链接库文件&#xff0c;它们包含了许多程序运行所需的函数和资源。当这些文件丢失或损坏时&#xff0c;可能会导致程序无法正常运行。本文将详细介绍…

5+单基因+免疫浸润,这篇肿瘤预后文章你值得拥有

今天给同学们分享一篇生信文章“Systematic analysis of the role of SLC52A2 in multiple human cancers”&#xff0c;这篇文章发表在Cancer Cell Int期刊上&#xff0c;影响因子为5.8。 结果解读&#xff1a; 多种人类癌症中SLC52A2的mRNA表达 首先&#xff0c;作者使用GT…