Vue中ref和$refs的介绍及使用

article/2025/9/28 7:23:51

在JavaScript中需要通过document.querySelector("#demo")来获取dom节点,然后再获取这个节点的值。在Vue中,我们不用获取dom节点,元素绑定ref之后,直接通过this.$refs即可调用,这样可以减少获取dom节点的消耗。

ref介绍

ref被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向该子组件实例

通俗的讲,ref特性就是为元素或子组件赋予一个ID引用,通过this.$refs.refName来访问元素或子组件的实例

<p ref="p">Hello</p>
<children ref="children"></children>
this.$refs.p
this.$refs.children

this.$refs介绍

this.$refs是一个对象,持有当前组件中注册过 ref特性的所有 DOM 元素和子组件实例

注意: $refs只有在组件渲染完成后才填充,在初始渲染的时候不能访问它们,并且它是非响应式的,因此不能用它在模板中做数据绑定

注意: 

当ref和v-for一起使用时,获取到的引用将会是一个数组,包含循环数组源

<template><div><div ref="myDiv" v-for="(item, index) in arr" :key="index">{{item}}</div></div>
</template><script>
export default {data() {return {arr: ['one', 'two', 'three', 'four']}},mounted() {console.log(this.$refs.myDiv)},methods: {}
}
</script><style lang="sass" scoped></style>

实例(通过ref特性调用子组件的方法)

【1】子组件code:

<template><div>{{msg}}</div>
</template><script>
export default {data() {return {msg: '我是子组件'}},methods: {changeMsg() {this.msg = '变身'}}
}
</script><style lang="sass" scoped></style>

【2】父组件code:

<template><div @click="parentMethod"><children ref="children"></children></div>
</template><script>
import children from 'components/children.vue'
export default {components: { children },data() {return {}},methods: {parentMethod() {this.$refs.children  //返回一个对象this.$refs.children.changeMsg() // 调用children的changeMsg方法}}
}
</script><style lang="sass" scoped></style>

目录

ref介绍

this.$refs介绍

注意: 

实例(通过ref特性调用子组件的方法)

【1】子组件code:

【2】父组件code:



http://chatgpt.dhexx.cn/article/l85XTNeL.shtml

相关文章

C++实现身份证号码过滤与排序

1.描述 警察办案里检索到一批(n个)身份证号码&#xff0c;希望按出生日期对它们进行从大到小排序&#xff0c;如果有相同日期&#xff0c;则按身份证号码大小进行排序&#xff0c;如果是错误的身份证号&#xff0c;则从排序列表中删除(仅需判断前两位省级地区编码是否在下面的…

基于MATLAB的身份证号码识别系统

一、课题目标 本文主要介绍了一种采用基于matlab数字图像处理的图像识别技术&#xff0c;对身份证原始图像中的序列号标示进行图像识别的方法。该系统通过图像预处理、图像定位、图像校正并最终输出结果。在系统调试阶段&#xff0c;根据遇到的错误即时对原系统进行调整&#x…

python爬虫--根据身份证号码获取户籍地、出生年月等信息

一、背景 工作中偶尔会遇到这样的情况&#xff0c;给你一堆客户身份证号码&#xff0c;然后要你把对应的性别、生日、户籍地等信息弄出来。 最常用的方法就是用excel表套公式&#xff0c;这个方式如果用来取性别、生日这些信息的话问题不大&#xff0c;毕竟这些规则还好梳理&…

BP算法的身份证号码识别

摘 要:基于反向传播算法的多层前馈网络(简称BP神经网络)在图像处理方面应用较为广泛。目前&#xff0c;身份证号码识别技术 在图像识别领域迅猛发展&#xff0c;为提高识别身份证号码的速度及准确性&#xff0c;本文研究一种基于BP神经网络的身份证号码识别系统。首 先&#xf…

Matlab实现身份证号码快速识别

用Matlab 实现身份证号码快速识别 摘 要&#xff1a; 探讨身份证号码的快速识别。 首先从身份证图像中获取 0&#xff5e;9 共 10 个号码数字的样本图像&#xff0c; 从中提取其空间分布特征和结构特征&#xff1b; 再从待识别的身份证图像中提取各号码数字的空间分布特征和结构…

身份证号码的编码规则及校验

前言 本文内容适用于二代身份证&#xff0c;如无特殊说明&#xff0c;本文中所说的身份证皆指二代身份证。 笔者目前使用的jdk版本是1.6.0_29&#xff0c;Eclipse版本是Juno Release&#xff0c;Build id 20120614-1722。如无特殊说明&#xff0c;本文所有的Java代码都是基于…

基于Python实现身份证号码验证

基于Python实现身份证号码验证 摘要: 该设计主要使用python语言来实现身份证号验证程序。它运用 tkinter模块生成GUI界面。当用户输入身份证号&#xff0c;按下检查按钮&#xff0c;即可判断身份证号是否正确。该程序简洁&#xff0c;灵活&#xff0c;执行效率高。 关键词: 身…

java验证身份证号码的合格性

中国居民身份证校验码算法步骤如下: 将身份证号码前面的17位数分别乘以不同的系数。从第一位到第十七位的系数分别为: 7&#xff0d;9&#xff0d;10&#xff0d;5&#xff0d;8&#xff0d;4&#xff0d;2&#xff0d;1&#xff0d;6&#xff0d;3&#xff0d;7&#xff0d;9&…

Python+Opencv身份证号码区域提取及识别

前端时间智能信息处理实训&#xff0c;我选择的课题为身份证号码识别&#xff0c;对中华人民共和国公民身份证进行识别&#xff0c;提取并识别其中的身份证号码&#xff0c;将身份证号码识别为字符串的形式输出。现在实训结束了将代码发布出来供大家参考&#xff0c;识别的方式…

身份证号码案例

我国的居民身份证号码&#xff0c;由由十七位数字本体码和一位数字校验码组成。请定义方法判断用户输入的身份证号码是否合法&#xff0c;并在主方法中调用方法测试结果。规则为&#xff1a;号码为18位&#xff0c;不能以数字0开头&#xff0c;前17位只可以是数字&#xff0c;最…

Python之身份证号码的校验

该文章已同步收录到我的博客网站&#xff0c;欢迎浏览我的博客网站&#xff0c;xhang’s blog 问题描述&#xff1a; 中华人民共和国居民身份证号码由17 位数字和1位校验码组成。 其中&#xff0c;前6位为所在地编号&#xff0c;第7~14 位为出生年月日&#xff0c;第15~17位为登…

JAVA 身份证号码的验证

一、身份证结构和形式 在通用的身份证号码有15位的和18位的&#xff1b; 15位身份证号码各位的含义: 1、1-2位省、自治区、直辖市代码&#xff1b; 2、3-4位地级市、盟、自治州代码&#xff1b; 3、5-6位县、县级市、区代码&#xff1b; 4、7-12位出生年月日,比如670401代…

等价类划分测试—身份证

目录 0.题目要求&#xff1a; 注意&#xff1a;一个测试用例只能覆盖一个无效等价类&#xff0c;但可以覆盖尽可能多的前面未覆盖到的有效等价类。 1.划分等价类 1.1有效等价类 1.2无效等价类 2.测试用例&#xff1a; 0.题目要求&#xff1a; 针对国内18位身份证号码验证…

二维码文件分析

将二维码保存&#xff0c;进行解码 进行base64解码,网址&#xff1a;https://www.sojson.com/base64.html。第一次解码&#xff1a;6LZ5Liq5bCx5piv6aqM6KB56CB77yaQkozNVVCNVNZNg 第二次解码&#xff1a;这个就是验证码&#xff1a;BJ35UB5SY6 得到key

Base64[再谈Base64] -- 附练习源代码

我打赌当你见到Base64这个词的时候你会觉得在哪里见过&#xff0c;因为在你能够上网看到这篇文章的时候你已经在后台使用它了。如果您对二进制数有所了解&#xff0c;你就可以开始读它了。 打开一封Email&#xff0c;查看其原始信息&#xff08;您可以通过收取、导出该邮件用文…

KgoUI(3) 之 vue + Sass

框架源代码&#xff1a;码云 直接上步骤&#xff1a; 第一&#xff1a;sass需要的模块 &#xff08;没有安装cnpm 就用 npm咯&#xff09; cnpm install --save-dev sass-loader cnpm install --save-dev node-sass cnpm install --save-dev sass-resources-loader…

安卓项目实战之强大的网络请求框架okGo使用详解(四):Cookie的管理

Cookie概念相关 具体来说cookie机制采用的是在客户端保持状态的方案&#xff0c;而session机制采用的是在服务器端保持状态的方案。同时我们也看到&#xff0c;由于采用服务器端保持状态的方案在客户端也需要保存一个标识&#xff0c;所以session机制是需要借助于cookie机制来…

Windows下安装Ginkgo测试框架

终端执行命令 #切换至GO安装路径 cd F:\Go\goProject\src\github.com F:#安装Ginkgo及其附加库 go get github.com/onsi/ginkgo/ginkgo go get github.com/onsi/gomega结果安装其附加库时开始报错 package golang.org/x/net/html/charset: unrecognized import path "g…

HTTPSConnectionPool(host=‘files.pythonhosted.org‘, port=443): Read timed out.

python 下载第三方库的时候一直报错怎么办&#xff0c; pip --default-timeout1000 install -U pip 尝试了延时操作依然不行&#xff0c;不能获取 这种情况有可能是你开了VPN或者是其他的软件&#xff0c;退出下载即可