vue ref介绍

article/2025/9/28 7:26:15

基本用法

ref 有三种用法:

1、ref 加在普通的元素上,用this.ref.name 获取到的是dom元素

2、ref 加在子组件上,用this.ref.name 获取到的是组件实例,可以使用组件的所有方法。

3、如何利用 v-for 和 ref 获取一组数组或者dom 节点
  在这里插入图片描述
  
  第1,2种情况
  this.$refs 获取了所有设置ref属性的元素(如有重名那么会被覆盖)
  如果是普通的元素那返回的是一个普通的dom,如果ref放在vue组件里,那么返回的是一个vue对象,这个对象包含了这个组件的各种信息
  
  第3种情况
  在这里插入图片描述
  在这里插入图片描述

如图所示这样使用
this.$refs.g1 获取得是vue组件对象的集合,就不覆盖了

$attrs

父子之间值传递,我们一般用的是在属性里设置,采用:prop="prop"的格式
在子级的props定义接受,然后可以直接使用,
若props里没有定义,那么可以使用this.$attrs里获取没有定义的值,

如下图
在这里插入图片描述
图中定义了3个属性(v-model也是个特殊的属性,在props中可以用 value来接收)
在这里插入图片描述
那$attrs的值是什么呢?
在这里插入图片描述
是除了props里已经定义接收了的传值, 就剩下了grand-id这个属性

如果还有孙子级的组件, 我们还可以用

v-bind="$attrs"

这种方式再次传递到孙子级的页面,孙子级仍然可以使用props来获取。如果不使用props,那么还可以依旧使用this.$attrs来获取,
这个相当于搭了个桥,
在这里插入图片描述

如上图所示,this. a t t r s 里 面 为 g r a n d I d : 1 , 我 们 使 用 v − b i n d = " t h i s . attrs里面为{grandId:1}, 我们使用v-bind="this. attrsgrandId:1,使vbind="this.attrs" 同等于 v-bind:grandId=“1”.这是只有一个属性值,所以差别不大,如果有多个属性值,那就不需要我们写了。直接借你一用,把各个需要传递给子孙级的数据,直接传到了目的地

语法糖的问题

在看同事代码的时候,发现在改变子级元素的值的时候,直接去改变了父级的值。没有用vuex,没有用emit。

其实还是用了emit,只是一些语法糖

v-model
在这里插入图片描述
在这里插入图片描述
如上面所展示代码
用v-model绑定了元素,在子级里面props接收到了value的值。
用该值初始化了inputValue,并监听emit了一个input事件。
在第一幅图里 v-model里绑定的值,也跟着改变了。

相当于
在这里插入图片描述
还是相当于在父级上绑上了一个事件,只是为了简单写法,省略一些东西

.sync
普通属性呢?其实也有一种简单的写法。

<template><div class="dashboard-container">{{ object }}<text1 v-model="object.v" :changep.sync="object.p" /></div>
</template><script>import text1 from './text'export default {components: {text1},data() {return {object: {v: 1,p: 2}}}
}
</script>
<!--* @Author: hanker* @LastEditors: hanker* @Description:
-->
<template><div class=""><el-input v-model="inputValue" /><el-button @click="clickHandle">点击改变p</el-button></div>
</template><script>
// import x from ''
export default {components: {},props: {},data() {return {inputValue: this.value}},computed: {},watch: {inputValue(newValue) {this.$emit('input', newValue)}},mounted() {},methods: {clickHandle() {const p = '改变了对应的p'this.$emit('update:changep', p)}}
}
</script><style lang='scss' scoped>
//@import url()</style>

在看一些vue开源的后台管理系统的时候,常常看到这些快捷写法,大家不要慌。百度一下,完事大吉


http://chatgpt.dhexx.cn/article/0Hn1HC5c.shtml

相关文章

vue3中ref的使用

一.定义一个数据的响应式 <template><h2>{{count}}</h2><hr><button click"update">更新</button> </template><script> import {ref } from vue export default {setup () {// 定义响应式数据 ref对象const count …

ref和reactive

一&#xff0c;前言 1.ref和reactive是vue3基于组合式api模式下&#xff0c;在setup中用于声明的具有响应式的数据的方法。 二&#xff0c;ref 1.ref通常用于声明基础类型响应式数据。 import { ref } from vue const age ref(10) //声明响应式数据2.ref返回的是被包装过的…

Vue中ref的用法

1、ref 加在普通的元素上&#xff0c;用this.$refs.&#xff08;ref值&#xff09; 获取到的是dom元素 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><div id"app"…

c#引用(ref)的用法和应用实例

无论是浅拷贝与深拷贝&#xff0c;C#都将源对象中的所有字段复制到新的对象中。不过&#xff0c;对于值类型字段&#xff0c;引用类型字段以及字符串类型字段的处理&#xff0c;两种拷贝方式存在一定的区别&#xff08;见下表&#xff09;。 1. 一般对C#中传值调用和传引用调用…

什么时候用ref,怎么用ref

文章目录 用refref是一个字符串ref是一个内联函数ref是一个回调函数ref通过调用React.createRef()生成 不用ref 用ref “打在我身&#xff0c;疼在她心”时&#xff0c;用ref。比如&#xff0c;点击事件绑定在某个标签上&#xff0c;事件处理函数中却要访问另一个完全不相关的…

[Vue]ref属性

前言 系列文章目录&#xff1a; [Vue]目录 老师的课件笔记&#xff0c;不含视频 https://www.aliyundrive.com/s/B8sDe5u56BU 笔记在线版&#xff1a; https://note.youdao.com/s/5vP46EPC 视频&#xff1a;尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 文章目录 前言1. ref…

什么是 ref 引用

1. 什么是 ref 引用 ref 用来辅助开发者在 不依赖于 jQuery 的情况下 &#xff0c;获取 DOM 元素或组件的引用。 每个 vue 的组件实例上&#xff0c;都包含一个 $refs 对象 &#xff0c;里面存储着对应的 DOM 元素或组件的引用。默认情况下&#xff0c; 组件的 $refs 指向一…

关于 Ref 你需要知道的知识点

Intro 在 React 项目中&#xff0c;有很多场景需要用到 Ref。例如使用 ref 属性获取 DOM 节点&#xff0c;获取 ClassComponent 对象实例&#xff1b;用 useRef Hook 创建一个 Ref 对象&#xff0c;以便解决像 setInterval 获取不到最新的 state 的问题&#xff1b;你也可以调用…

学习Vue3 第六章(认识Ref全家桶)

视频教程小满Vue3&#xff08;第六章 Ref 全家桶 & 源码解析&#xff09;_哔哩哔哩_bilibili ref 接受一个内部值并返回一个响应式且可变的 ref 对象。ref 对象仅有一个 .value property&#xff0c;指向该内部值。 案例 我们这样操作是无法改变message 的值 应为mess…

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

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

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;最…