Vue模板引用之ref特殊属性

1. 使用实例

<template><input ref="input" name="我是input的name" /><br /><ul><li v-for="arr in array" :key="arr" id="111" ref="itemRefs">{{arr}}</li></ul>
</template>
<script setup>
import { ref, onMounted, watch, watchEffect, reactive } from "vue";// 声明一个 ref 来存放该元素的引用
// 必须和模板里的 ref 同名
let input = ref(null);
let input1 = ref(null);let array = ref([0, 1, 2, 3]);
//定义一个与li中ref值同名的响应式属性
let itemRefs=ref([])//一定要在组件挂载后才能通过ref访问组件
onMounted(() => {input.value.focus();
});//ref控件为单数时使用
watchEffect(() => {if (input.value) {input.value.focus();//获取控件的属性,比方说name需要用input.valueconsole.log("ref绑定控件的name属性:", input.value.name);} else {// 此时还未挂载,或此元素已经被卸载(例如通过 v-if 控制)}
});//ref与v-for进行结合获取dom元素为数组
watchEffect(() => {if (itemRefs.value) {//console.log("itemRefs:", itemRefs.value[0]);} else {// 此时还未挂载,或此元素已经被卸载(例如通过 v-if 控制)}
});
</script><style scoped>
</style>

在这里插入图片描述

2. 组件使用ref
父组件

<template><classtest ref="child" />
</template>
<script setup>
import { ref, onMounted } from "vue";
import classtest from './components/classtest.vue'// 声明一个 ref 来存放该元素的引用
// 必须和组件里的 ref 同名
let child  = ref(null);//一定要在组件挂载后才能通过ref访问组件
onMounted(() => {console.log('子组件中X的值为:',child.value.x)console.log('子组件中y的值为:',child.value.y)
});
</script><style scoped>
</style>

子组件

<template><div>{{x}}</div>
</template><script setup>
import {ref} from 'vue'
name:'classtest'let x=ref(1)let y=ref(2)//应为使用了setup,使得组件默认为私有的
//如想获取组件内容,使用defineExpose 宏显式暴露
defineExpose({x,y
})
</script><style></style>

在这里插入图片描述

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

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

相关文章

[C/C++] -- 访问Linux环境MySQL数据库

1.C编程访问MySQL 查询MySQL是否安装成功 dpkg -l | grep libmysqlclient # 查看系统中是否安装了与 MySQL 客户端库相关的软件包。这个命令会列出所有包含 libmysqlclient 字样的软件包&#xff0c;以便确认是否已安装相关库。ldconfig -p | grep mysqlclient # 查看系统中…

Opencv实战(2)绘图与图像操作

Opencv实战(2)绘图与图像操作 指路前文&#xff1a;Opencv实战(1)读取与像素操作 三、基本绘图 文章目录 Opencv实战(2)绘图与图像操作三、基本绘图(1).line(2).rectangle(3).circle 四、图像处理(1).颜色空间1.意义2.cvtColor()3.inRange()4.适应光线 (2).形态操作1.腐蚀2.膨…

C++的deque容器->基本概念、构造函数、赋值操作、大小操作、插入和删除、数据存取、排序

#include<iostream> using namespace std; #include <deque> //deque构造函数 void printDeque(const deque<int>& d) { for (deque<int>::const_iterator it d.begin(); it ! d.end(); it) { //*it 100; 容器中的数据不可以修…

深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘

前言&#xff1a; 在Linux系统中&#xff0c;文件和目录的权限管理是一项至关重要的任务。它决定了哪些用户或用户组可以对文件或目录执行读、写或执行等操作。传统的Linux权限模型基于用户、组和其他的概念&#xff0c;但随着时间的推移&#xff0c;这种模型在某些情况下显得…

VR系统的开发流程

虚拟现实&#xff08;Virtual Reality&#xff0c;VR&#xff09;系统是一种通过计算机技术模拟出的具有三维视角和交互性的虚拟环境&#xff0c;使用户能够沉浸在其中并与虚拟环境进行交互。这种技术通常利用头戴式显示器和手柄等设备&#xff0c;使用户能够感觉到仿佛身临其境…

Day08-面向对象-继承

文章目录 第7章 面向对象-继承1. 学习目标2. 继承2.1 继承的好处2.2 继承的语法2.3 继承的特点一&#xff1a;成员变量2.3.1 私有化&#xff08;private&#xff09;2.3.2 成员变量不重名2.3.3 成员变量重名 2.4 继承的特点二&#xff1a;成员方法2.4.1 成员方法不重名2.4.2 成…

电子器件系列63:焊带(光伏焊带)

光伏焊带&#xff0c;又称涂锡焊带。光伏焊带是光伏组件的重要组成部分&#xff0c;属于电气连接部件&#xff0c;应用于光伏电池片的串联或并联&#xff0c;发挥导电聚电的重要作用&#xff0c;以提升光伏组件的输出电压和功率。光伏焊带是光伏组件焊接过程中的重要材料&#…

[DP学习] 期望DP

一般思路 注&#xff1a;可以用方差求平方的期望 例题一 思路 重点&#xff1a;如何设状态&#xff0c;如何转移。 设状态 f[i] i 张能买到不同卡片的种类数的期望值&#xff08;直接对问题设置状态&#xff09; 状态转移&#xff1a;由于从f[i1]转移到 f[i] 时&#xff0…

【微服务生态】Elasticsearch

文章目录 一、概述二、下载和部署2.1 单机部署2.2 集群部署2.2.1 环境配置2.2.2 安装及部署 三、基本操作3.1 概述3.2 HTTP 操作3.2.1 索引操作3.2.2 文档操作3.2.3 关系映射3.2.4 高级查询 3.3 Java API 操作 四、Elasticsearch 进阶4.1 核心概念4.2 系统架构4.3 分布式集群4.…

利用nginx内部访问特性实现静态资源授权访问

在nginx中&#xff0c;将静态资源设为internal&#xff1b;然后将前端的静态资源地址改为指向后端&#xff0c;在后端的响应头部中写上静态资源地址。 近期客户对我们项目做安全性测评&#xff0c;暴露出一些安全性问题&#xff0c;其中一个是有些静态页面&#xff08;*.html&…

C 语言基本语法及实用案例分享

一、什么是 C 语言&#xff1f; C语言是一种较早的程序设计语言&#xff0c;诞生于1972年的贝尔实验室。1972 年&#xff0c;Dennis Ritchie 设计了C语言&#xff0c;它继承了B语言的许多思想&#xff0c;并加入了数据类型的概念及其他特性。C语言是一门面向过程的计算机编程语…

OpenCV笔记4:级联分类器实现嘴部检测

OpenCV 嘴部检测 """ 嘴部区域检测 1. 静态图像检测嘴部区域创建分类器加载特征文件检测图像绘制嘴部区域显示 2. 切换为摄像头 """ import cv2 import numpy as npclass FaceDetect:def __init__(self):# 级联分类器# 创建级联分类器&#xf…