vue 中 ref 详解

一、定义与基本用法

1. 定义

在 Vue.js 中,`ref`是一个用于在组件中获取 DOM 元素或者子组件实例引用的属性。它提供了一种直接访问元素或组件的方式,使得我们可以在 JavaScript 代码中对它们进行操作。

2. 基本使用

在模板中,可以通过给元素或者组件添加`ref`属性来创建引用。

<template><div ref="myDiv">这是一个div元素</div></template>

二、在选项式 API 中的使用

1. 访问 DOM 元素

在选项式 API 中,`ref`属性可以用于获取 DOM 元素的引用。

export default {mounted() {this.$refs.input.focus();},template: '<input ref="input" type="text">',};

2. 访问子组件实例

当`ref`用于子组件时,可以获取子组件的实例,从而访问子组件的属性和方法。

// 子组件export default {methods: {getChildData() {return "子组件数据";},},};

在父组件中,可以通过`ref`获取子组件实例并调用子组件的方法

export default {mounted() {const childComponent = this.$refs.child;const childData = childComponent.getChildData();console.log(childData);},template: '<ChildComponent ref="child" />',components: {ChildComponent,},};

三、在组合式 API 中的使用

1. 创建和访问引用

在组合式 API 中,通常使用`ref`函数(从`vue`模块中导入)来创建引用。

import { ref, onMounted } from "vue";export default {setup() {const myDiv = ref(null);onMounted(() => {console.log(myDiv.value);});return {myDiv,};},template: '<div ref="myDiv">这是一个div元素</div>',};

2. 与响应式数据的结合使用

`ref`创建的引用可以与其他响应式数据一起使用,用于构建复杂的交互逻辑。

import { ref, watch } from "vue";export default {setup() {const buttonRef = ref(null);const clickCount = ref(0);watch(() => buttonRef.value,() => {if (buttonRef.value) {clickCount.value++;}});return {buttonRef,clickCount,};},template:'<button ref="buttonRef" @click="clickCount++">点击我</button> <p>点击次数: {clickCount}</p>',};

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

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

相关文章

MacOS 命令行详解使用教程

本章讲述MacOs命令行详解的使用教程&#xff0c;感谢大家观看。 本人博客:如烟花般绚烂却又稍纵即逝的主页 MacOs命令行前言&#xff1a; 在 macOS 上,Terminal&#xff08;终端) 是一个功能强大的工具&#xff0c;它允许用户通过命令行直接与系统交互。本教程将详细介绍 macOS…

【数据结构】线性数据结构——链表

1. 定义 链表是一种线性数据结构&#xff0c;由多个节点&#xff08;Node&#xff09;组成。每个节点存储数据和指向下一个节点的指针。与数组不同&#xff0c;链表的节点不需要在内存中连续存储。 2. 特点 动态存储&#xff1a; 链表的大小不固定&#xff0c;可以动态增加或…

WPF 样式

WPF 有自己的样式设置系统&#xff0c;也自带类似 Winform 的默认样式。默认样式比较一般&#xff0c;我们可以使用下面几种方式自定义好看的 wpf 样式。 1. 本地直接设置 比如更改按钮的背景色和字体颜色&#xff0c; <Grid><StackPanel Orientation"Horizon…

WOFOST作物模型(3):敏感性分析

目录 一、定义参数范围二、采样生成参数样本三、运行不同参数组下的WOFOST四、计算敏感度与可视化1.敏感度2.二阶交互敏感度五、敏感变量对产量的影响结果可视化一、定义参数范围 使用TAGP(Total Above Ground Production),地上总产量 TSUM1,temperature sum from emergence…

小程序笔记

1.小程序全局配置app.json {"pages":["pages/index/index","pages/logs/logs"],"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor": "#fff","navigationBarTit…

Isaac Sim Docker 中使用 Python 脚本

笔记&#xff0c;记录个人尝试过程 主要目的&#xff1a; 1. 直接在代码中运行仿真程序&#xff0c;并对某传感器帧率进行固定化设置&#xff0c;添加噪声等操作。 2. 试多个场景的并行处理&#xff0c;和多用户/账户在远程Docker中的并行使用。 3. 对车辆模型、车辆动力学等…

SickOs1.1

下载安装 名称&#xff1a;SickOs&#xff1a;1.1 发布日期&#xff1a;2015 年 12 月 11 日作者: D4rk系列&#xff1a;SickOs sick0s1.1.7z&#xff08;大小&#xff1a;623 MB&#xff09;下载&#xff08;镜像&#xff09;&#xff1a; https: //download.vulnhub.com/sick…

DP协议:PHY层

引言 DisplayPort物理层规定了上游设备(例如DisplayPort源或分支设备的AV输出端口)和下游设备(例如DisplayPort接收器或分支设备的AV输入端口)之间直接连接的物理属性。 它将数据传输的电气规范从DisplayPort链路层解耦,从而允许链路层具体设计增强的模块化,并且也允许…

Java - 日志体系_Apache Commons Logging(JCL)日志接口库_适配Log4j2 及 源码分析

文章目录 PreApache CommonsApache Commons ProperLogging &#xff08;Apache Commons Logging &#xff09; JCL 集成Log4j2添加 Maven 依赖配置 Log4j2验证集成 源码分析1. Log4j-jcl 的背景2. log4j-jcl 的工作原理2.1 替换默认的 LogFactoryImpl2.2 LogFactoryImpl 的实现…

#C01L11P02. C01.L11.while循环.while循环和for循环的区别

唉&#xff0c;你们善良的王又来给你们发文章了&#xff01;&#xff01;&#xff01; for循环一般应用于循环次数已知的情况&#xff1b; while循环一般应用于循环次数未知的情况&#xff1b; 在一般情况下&#xff0c;这两者是可以相互转化的。 举一个简单较适合用for循环…

HTML——20 自定义属性

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>自定义属性</title></head><body><a href"https://ai.m.taobao.com" 自定义属性"属性值">淘宝网</a><a href"h…

开发模式选择与最佳实践指南20241230

开发模式选择与最佳实践指南 引言 在现代软件开发中&#xff0c;选择合适的开发模式直接影响项目的开发效率和质量。本文将帮助您&#xff1a; &#x1f3af; 了解三种主流开发模式的优缺点&#x1f4a1; 根据项目特点选择最适合的开发模式&#x1f527; 掌握混合开发模式的…

【JavaWeb后端学习笔记】MySQL的数据控制语言(Data Control Language,DCL)

MySQL DCL 1、管理用户2、控制权限 DCL英文全称是Data Control Language&#xff08;数据控制语言&#xff09;&#xff0c;用来管理数据库用户、控制数据库访问权限。 1、管理用户 管理用户的操作都需要在MySQL自带的 mysql 数据库中进行。 -- 查询用户 -- 需要先切换到MyS…

《特征工程:自动化浪潮下的坚守与变革》

在机器学习的广阔天地中&#xff0c;特征工程一直占据着举足轻重的地位。它宛如一位幕后的工匠&#xff0c;精心雕琢着原始数据&#xff0c;将其转化为能够被机器学习模型高效利用的特征&#xff0c;从而推动模型性能迈向新的高度。然而&#xff0c;随着技术的飞速发展&#xf…

IDEA错题集

一、 报java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have错。 二、一个工程在编译时报某个模块没有指定JDK。 解决方案&#xff1a; 从IDEA的菜单中&#xff0c;依次执行&#xff1a;文件-项目结构-项目设置-项目&#xff…

stm32内部flash在线读写操作

stm32内部flash在线读写操作 &#x1f4cd;相关开源库文章介绍《STM32 利用FlashDB库实现在线扇区数据管理不丢失》 ✨不同系列&#xff0c;内部flash编程有所区别。例如stm32f1是按照页擦除&#xff0c;半字&#xff08;16bit&#xff09;或全字(32bit)数据写入&#xff1b;st…

Acwing 基础算法课 数学知识 筛法求欧拉函数

【G09 筛法求欧拉函数】https://www.bilibili.com/video/BV1VP411p7Bs?vd_source57dbd16b8c7c2ad258cccce5966c5be8 闫总真是把听者当数学系转cs的来讲&#xff0c;菜逼完全听不懂&#xff0c;只能其他地再搜 欧拉函数 φ ( n ) \varphi(n) φ(n)&#xff1a;1~n中与n互质的数…

优化我们的程序(数据篇):自空间复用

自空间复用 当遍历的元素恰好在一条cache线上时&#xff0c;称之为自空间复用&#xff0c;在前面我们已经知道了矩阵的秩就是数据的空间维度&#xff0c;也就是相对独立变量的个数。 当矩阵的秩小于循环嵌套深度时&#xff0c;此时一定是可以进行优化的。 例如&#xff1a; …

攻防世界web新手第五题supersqli

这是题目&#xff0c;题目看起来像是sql注入的题&#xff0c;先试一下最常规的&#xff0c;输入1&#xff0c;回显正常 输入1‘&#xff0c;显示错误 尝试加上注释符号#或者–或者%23&#xff08;注释掉后面语句&#xff0c;使1后面的单引号与前面的单引号成功匹配就不会报错…

SQL SERVER日常运维巡检系列之-日志

前言 做好日常巡检是数据库管理和维护的重要步骤&#xff0c;而且需要对每次巡检日期、结果进行登记&#xff0c;同时可能需要出一份巡检报告。 本系列旨在解决一些常见的困扰&#xff1a; 不知道巡检哪些东西不知道怎么样便捷体检机器太多体检麻烦生成报告困难&#xff0c;无…