当前位置: 首页 > news >正文

组件通信$refs | $parent |$root

父组件传值子组件用Props

子组件传值父组件用$emit

父组件直接还可以直接取子组件的值用$refs

父组件直接从子子组件中获取值$refs

不建议使用会增加组件之间的耦合度,一般用于第三方插件的封装

ref如果绑定在dom节点上,拿到的就是原生dom节点。
ref如果绑定在组件上,拿到的就是组件对象,可以实现通信功能

父组件

<template><div><button v-on:click="handelClick">打印看看</button><ChildModule ref="mychild"></ChildModule><input type="text" ref="myinput"><div type="text" ref="mydiv">wowo</div></div>
</template>
<script>
import ChildModule from "./components/ChildModule.vue" //导入ChildModule组件模板
export default {inheritAttrs: false,data() {return {}},components: {ChildModule: ChildModule //注册局部子组件ChildModule:也可以写成ChildModule:ChildModule},methods: {handelClick() {console.log(this.$.refs.myinput);console.log(this.$.refs.mydiv);console.log(this.$.refs.mychild);this.$.refs.myinput.value="abc";this.$.refs.mydiv.style.background='red'; //this.$refs.mychild.user.name="李四"; //直接获取子组件的user.name值并重新赋值}}
}
</script>

子组件

<template><div>{{user.name}}</div>
</template>
<script>
export default {data(){return{user:{name:"张三",age:19,emial:"abc@123.com"}}},methods:{}
}
</script>

子组件直接从父组件中获取值$parent

子组件直接从根组件中获取值$root

我有三个组件关系如下:根组件app.vue中有一个AChild组件,AChild组件中有一个BChild组件

根组件app.vue

<template><div><AChild></AChild></div>
</template>
<script>
import AChild from "./components/AChild.vue" //导入AChild组件模板
export default {inheritAttrs: false,data() {return {name: "我是根组件name"}},components: {AChild},methods: {}
}
</script>

AChild组件

<template><div><BChild></BChild></div>
</template>
<script>
import BChild from "./BChild.vue" //导入BChild组件模板
export default {inheritAttrs: false,data() {return {name: "我是A组件name"}},components: {BChild},methods: {}
}
</script>

BChild组件

<template><div><button @click="handelClick">点我</button></div>
</template>
<script >
export default{inheritAttrs:false,methods:{handelClick(){console.log( this.$parent.name); //获取父组件的nameconsole.log( this.$parent.$parent.name); //获取父组件的父组件的nameconsole.log( this.$root.name); //获取根组件的name(这个直接取最上级组件的值)}}
}
</script>

相关文章:

组件通信$refs | $parent |$root

父组件传值子组件用Props 子组件传值父组件用$emit 父组件直接还可以直接取子组件的值用$refs 父组件直接从子子组件中获取值$refs 不建议使用会增加组件之间的耦合度&#xff0c;一般用于第三方插件的封装 ref如果绑定在dom节点上&#xff0c;拿到的就是原生dom节点。 ref如…...

springboot中@Async的使用

1.AsyncAnnotationBeanPostProcessor是主要逻辑类 (1)AsyncAnnotationBeanPostProcessor实现BeanFactoryAware接口 在setBeanFactory(BeanFactory beanFactory)中初始化advisorAsyncAnnotationAdvisor() (2)AsyncAnnotationBeanPostProcessor实现BeanPostProcessor接口 在p…...

学C++从CMake学起

Cmake在此引入c17编译器&#xff0c;就可以使用c17的新特性了。 c17定义了一些算法&#xff0c;都定义在了下面这个头文件里。 #include <numeric> 通过redurce函数求和 将9行的std::plus{}换成std::times{}就是相乘。...

lv8 嵌入式开发-网络编程开发 20 域名解析与http服务实现原理

目录 1 域名解析 2 如何实现万维网服务器&#xff1f; 2.1 HTTP 的操作过程 2.2 万维网服务器实现 1 域名解析 域名解析gethostbyname函数 主机结构在 <netdb.h> 中定义如下&#xff1a; struct hostent {char *h_name; /* 官方域名 */char **h_alias…...

只要路由器有WPS按钮,佳能打印机连接到Wi-Fi网络的方法就很简单

佳能打印机是很好的设备&#xff0c;可以让你从智能手机、电脑或平板电脑打印照片。它们还提供其他功能&#xff0c;如扫描文档和复制图像。 最新的型号还允许你连接到Wi-Fi&#xff0c;因此你不需要使用电线将设备连接到打印机。 Wi-Fi是通过本地网络传输数据的标准方式。它…...

Cmake输出git内容方式

实现背景 在定位问题时&#xff0c;固件无法获取当前设备中版本的详细信息&#xff0c;无法准确获取版本具体内容 输出效果 实现方式 以下是基于Cmake的语法实现 在CMake中获取git信息&#xff0c;可以通过execute_process命令运行git命令并将结果保存在一个变量中。然后可…...

实现多余内容变成省略号

实现效果 代码 <p class"item-content">{{ item.content }}</p>样式 .item-content {white-space: nowrap;/* 禁止换行 */overflow: hidden;/* 隐藏溢出部分 */text-overflow: ellipsis;/* 使用省略号表示溢出部分 */ }...

WAL 模式(PostgreSQL 14 Internals翻译版)

性能 当服务器正常运行时&#xff0c;WAL文件不断被写入磁盘。但是&#xff0c;这些写操作是顺序的:几乎没有随机访问&#xff0c;因此即使是HDD也可以处理这个任务。由于这种类型的加载与典型的数据文件访问非常不同&#xff0c;因此有必要为WAL文件设置一个单独的物理存储&a…...

2023年信息科学与工程学院学生科协第二次软件培训

2023年信息科学与工程学院学生科协第二次软件培训 文章目录 2023年信息科学与工程学院学生科协第二次软件培训一维数组数组的概念定义格式一维数组的访问例题&#xff1a;练习题&#xff1a; 数组元素数量一维数组的初始化 二维数组定义格式二维数组的访问二维数组的存储结构二…...

渗透测试tomcat错误信息泄露解决办法

解决方法&#xff1a; 1、使用tomcat8.5.16&#xff0c;会重定向非法url到登录url 2、配置server.xml&#xff0c;加上 <Valve className"org.apache.catalina.valves.ErrorReportValve" showReport"false" showServerInfo"false" />配置…...

notes_NLP

RNN > LSTM, GRU model特点RNNLSTMinputforgetputput&#xff1b;GRUresetupdate&#xff1b;参数比LSTM少&#xff0c;计算效率更高&#xff1b; 循环神经网络&#xff08;RNN/LSTM/GRU&#xff09; 人人都能看懂的GRU transformer > self-attention 根据Query和Key计…...

内存分段、分页

大家好&#xff0c;我叫徐锦桐&#xff0c;个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识&#xff0c;还有日常折腾的经验&#xff0c;欢迎大家访问。 前言 每个进程都有一套自己的虚拟地址&#xff0c;尽管进程可能有相同的虚拟地址&#xff0c;…...

Python-pptx教程之一从零开始生成PPT文件

简介 python-pptx是一个用于创建、读取和更新PowerPoint&#xff08;.pptx&#xff09;文件的python库。 典型的用途是根据动态内容&#xff08;如数据库查询、分析数据等&#xff09;&#xff0c;将这些内容自动化生成PowerPoint演示文稿&#xff0c;将数据可视化&#xff0c…...

k8s 使用ingress-nginx访问集群内部应用

k8s搭建和部署应用完成后&#xff0c;可以通过NodePort&#xff0c;Loadbalancer&#xff0c;Ingress方式将应用端口暴露到集群外部&#xff0c;提供外部访问。 缺点&#xff1a; NodePort占用端口&#xff0c;大量暴露端口非常不安全&#xff0c;并且有端口数量限制【不推荐】…...

企业数据泄露怎么办?

随着数字化时代的到来&#xff0c;威胁企业数据安全的因素越来越多。一旦机密数据泄露&#xff0c;不仅会对企业造成巨大的经济损失&#xff0c;还会对企业的声誉和客户信任度造成严重影响。发生数据泄露情况时&#xff0c;企业该怎样应对&#xff1f; 1.确认数据泄露 确认是…...

GoLong的学习之路(一)语法之变量与常量

目录 GoLang变量批量声明变量的初始化类型推导短变量声明匿名变量 常量iota&#xff08;特殊&#xff09;&#xff08;需要重点记忆&#xff09; GoLang go的诞生为了解决在21世纪多核和网络化环境越来越复杂的变成问题而发明的Go语言。 go语言是从Ken Thomepson发明的B语言和…...

Go-Python-Java-C-LeetCode高分解法-第十一周合集

前言 本题解Go语言部分基于 LeetCode-Go 其他部分基于本人实践学习 个人题解GitHub连接&#xff1a;LeetCode-Go-Python-Java-C 欢迎订阅CSDN专栏&#xff0c;每日一题&#xff0c;和博主一起进步 LeetCode专栏 我搜集到了50道精选题&#xff0c;适合速成概览大部分常用算法 突…...

封装axios的两种方式

作为前端工程师&#xff0c;经常需要对axios进行封装以满足复用的目的。在不同的前端项目中使用相同的axios封装有利于保持一致性&#xff0c;有利于数据之间的传递和处理。本文提供两种对axios进行封装的思路。 1. 将请求方式作为调用参数传递进来 首先导入了axios, AxiosIn…...

【自然语言处理】NLTK库的概念和作用

文章目录 一、NLTK库介绍二、NLTK库的使用2.1 初级使用2.2 中级使用 参考资料 一、NLTK库介绍 Natural Language Toolkit (NLTK)是一个广泛使用的Python自然语言处理工具库&#xff0c;由Steven Bird、Edward Loper和Ewan Klein于2001年发起开发。NLTK的目的是为自然语言处理&…...

Python爬虫如何解决提交参数js加密

注意&#xff01;&#xff01;&#xff01;&#xff01; 仅做知识储备莫拿去违法乱纪&#xff0c;有问题指出来&#xff0c;纯做笔记记录 由于&#xffe5;%…………&&%#%** 所以&#xff01;#&#xffe5;……&*……* 啥也不说直接上代码 import execjs js_ji…...

uosc性能优化实战:解决UI卡顿与渲染延迟问题终极指南

uosc性能优化实战&#xff1a;解决UI卡顿与渲染延迟问题终极指南 【免费下载链接】uosc Feature-rich minimalist proximity-based UI for MPV player. 项目地址: https://gitcode.com/gh_mirrors/uo/uosc uosc是一款功能丰富的极简主义基于接近度的MPV播放器用户界面&a…...

Whisper JAX时间戳功能:为语音内容添加精准时间标记的终极指南

Whisper JAX时间戳功能&#xff1a;为语音内容添加精准时间标记的终极指南 【免费下载链接】whisper-jax JAX implementation of OpenAIs Whisper model for up to 70x speed-up on TPU. 项目地址: https://gitcode.com/gh_mirrors/wh/whisper-jax Whisper JAX是OpenAI …...

【快速EI检索 | SPIE出版】2026年量子计算与人工智能国际学术会议(ICQCAI 2026)

2026年量子计算与人工智能国际学术会议&#xff08;ICQCAI 2026&#xff09; 2026 International Conference on Environmental Pollution and Sustainable Resource Management 2026年5月8-10日&#xff0c; 中国-北京 大会官网&#xff1a;www.icqcai.com 截稿时间&#…...

MarkDown语法学习总结

MarkDown语法学习 一级标题&#xff1a;#空格标题名 二级标题 二级标题&#xff1a;##空格标题名 几级标题就写几个# 字体 粗体&#xff1a;** 文本 ** 你好 斜体&#xff1a;* 文本 * 你好 斜体加粗&#xff1a;* * * 文本 * * * 你好 删除线&#xff1a;~~ 文本~…...

终极Ventoy指南:从RAID阵列轻松启动多系统的完整解决方案

终极Ventoy指南&#xff1a;从RAID阵列轻松启动多系统的完整解决方案 【免费下载链接】Ventoy A new bootable USB solution. 项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy 你是否曾为从复杂的RAID存储阵列启动系统而烦恼&#xff1f;传统方法需要繁琐的BI…...

实战应用:基于快马平台构建支持高并发的医院预约系统后端服务

今天想和大家分享一个实战项目&#xff1a;基于InsCode(快马)平台构建医院预约系统后端服务的经验。这个系统需要处理高并发预约、确保数据一致性&#xff0c;还要对接短信通知等第三方服务&#xff0c;对代码健壮性要求很高。 系统架构设计 医院预约系统的核心是要解决"…...

Tessent测试流程文件里的Tcl魔法:用if/else让你的扫描测试配置更灵活

Tessent测试流程文件里的Tcl魔法&#xff1a;用if/else让你的扫描测试配置更灵活 在芯片测试领域&#xff0c;Tessent Shell作为业界领先的测试解决方案&#xff0c;其Test Procedure File&#xff08;测试流程文件&#xff09;的灵活运用往往能决定测试效率的高低。今天我们要…...

如何轻松实现 Reactor Core 与 Java 9 Flow API 的完美集成:终极指南

如何轻松实现 Reactor Core 与 Java 9 Flow API 的完美集成&#xff1a;终极指南 【免费下载链接】reactor-core Non-Blocking Reactive Foundation for the JVM 项目地址: https://gitcode.com/gh_mirrors/re/reactor-core Reactor Core 是 JVM 平台上的非阻塞响应式基…...

PP-DocLayoutV3详细步骤:image图像块识别+seal印章区域高亮标注输出

PP-DocLayoutV3详细步骤&#xff1a;image图像块识别seal印章区域高亮标注输出 你是不是经常遇到这样的烦恼&#xff1a;拿到一份扫描的合同或发票&#xff0c;想快速找到里面的关键信息&#xff0c;比如签名、印章、表格&#xff0c;但文档是歪的、有褶皱&#xff0c;或者印章…...

效率提升秘籍:用快马AI一键生成可复用的课堂管理系统登录组件代码

在开发课堂管理系统这类教育软件时&#xff0c;登录模块往往是第一个需要实现的组件。传统手动编写方式不仅耗时&#xff0c;还容易遗漏关键细节。最近尝试用InsCode(快马)平台的AI生成功能&#xff0c;发现它能快速产出符合生产标准的代码&#xff0c;这里分享我的实践心得。 …...