025: vue父子组件中传递方法控制:$emit,$refs,$parent,$children

专栏目标
在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。
(1)提供vue2的一些基本操作:安装、引用,模板使用,computed,watch,生命周期(beforeCreate,created,beforeMount,mounted, beforeUpdate,updated, beforeDestroy,destroyed,activated,deactivated,errorCaptured,components,)、 $root , $parent , $children , $slots , $refs , props, $emit , eventbus ,provide / inject, Vue.observable, $listeners, $attrs, $nextTick , v-for, v-if, v-else,v-else-if,v-on,v-pre,v-cloak,v-once,v-model, v-html, v-text, keep-alive,slot-scope, filters, v-bind,.stop, .native, directives,mixin,render,国际化,Vue Router等
(2)提供element UI的经典操作:安装,引用,国际化,el-row,el-col,el-button,el-link,el-radio,el-checkbox ,el-input,el-select, el-cascader, el-input-number, el-switch,el-slider, el-time-picker, el-date-picker, el-upload, el-rate, el-color-picker, el-transfer, el-form, el-table, el-tree, el-pagination,el-badge,el-avatar,el-skeleton, el-empty, el-descriptions, el-result, el-statistic, el-alert, v-loading, $message, $alert, $prompt, $confirm , $notify, el-breadcrumb, el-page-header,el-tabs ,el-dropdown,el-steps,el-dialog, el-tooltip, el-popover, el-popconfirm, el-card, el-carousel, el-collapse, el-timeline, el-divider, el-calendar, el-image, el-backtop,v-infinite-scroll, el-drawer等
本文章目录
- 专栏目标
- 需求背景
- 示例效果
- 示例源代码
- 父组件(共99行)
- 子组件 child.vue(共37行)
- 理论介绍
需求背景
这是一个父子组件之间的控制方法,父组件可以通过‘ c h i l d r e n ’ 或 ′ children’或' children’或′refs’来控制子组件中的方法;子组件可以通过$parent或 $emit来控制子组件中的方法
示例效果

示例源代码
父组件(共99行)
/*
* @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)
* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2022-09-04
*/<template><div class="container"><div class="top"><h3>父子方法控制:$emit,$refs,$parent,$children </h3><div class="author">大剑师兰特, 还是大剑师兰特,gis-dajianshi</div></div><el-button size="mini" type="primary" @click="showc1()"> refs子组件控制1 </el-button><el-button size="mini" type="primary" @click="showc2()"> children子组件控制2 </el-button><Childcom ref="mychild" @showP='showP2' /><div v-if="isParent2">这是用$emit方法显示的父组件信息 (parent2)</div><div v-if="isParent1"><div class="oneLine" v-for="(item,index) in listData" :key="index"><div class="fl20"><img :src="item.thumbnail_pic_s" alt=""></div><div class="fl20"> {{item.date}} </div><div class="fl20">{{item.title}} </div></div></div></div>
</template><script>import Childcom from '@/components/child.vue'export default {data() {return {listData:[],isParent1:false,isParent2:false,}},components: {Childcom},mounted() {this.getdata()},methods: {showc1(){this.$refs.mychild.showChild1()},showc2(){console.log(this.$children)this.$children[2].showChild2()},showP1(){this.isParent1=true;},showP2(){this.isParent2=true;},getdata() {let url = "/listdata"this.$request(url, {}, "GET").then((res) => {this.listData = res.data.dataconsole.log(this.listData)})},}}
</script>
<style scoped>.container {width: 1000px;height: 540px;margin: 50px auto;border: 1px solid orange;}.top{margin:0 auto 30px; padding:10px 0;background-color: aquamarine;}.oneLine {width: 100%;height: 50px;line-height: 50px;background: #eee;margin-top: 10px;overflow: hidden;cursor: pointer;}.oneLine .fl20{ float: left; padding:0 10px;min-width: 150px;}
</style>
子组件 child.vue(共37行)
<template><div> <div v-if="is1">{{text1}}</div><div v-if="is2">{{text2}}</div> <hr> <el-button @click="showparent1()" type="danger" size="mini"> 开启父组件内容1</el-button> <el-button @click="showparent2()" type="danger" size="mini"> 开启父组件内容2</el-button> </div>
</template><script>export default{data() { return {is1:false,is2:false,text1:'通过第一种方法显示出来',text2:'通过第二种方法显示出来',}},methods:{showChild1(){this.is1=true;},showChild2(){this.is2=true;},showparent1(){this.$parent.showP1();},showparent2(){this.$emit('showP')}, },}</script>
理论介绍
父组件访问子组件:使用this.$children或 $refs
this.$children得到是一个子组件数组,它包含所有子组件对象。
子组件访问父组件:使用this.$parent , this.$emit
子组件访问根Vue实例:使用this.$root
相关文章:
025: vue父子组件中传递方法控制:$emit,$refs,$parent,$children
第025个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…...
使用js搭建简易的WebRTC实现视频直播
首先需要一个信令服务器,我们使用nodejs来搭建。两个端:发送端和接收端。我的目录结构如下图:流程 创建一个文件夹 WebRTC-Test。进入文件夹中,新建一个node的文件夹。使用终端并进入node的目录下,使用 npm init 创建p…...
LeetCode 2707. Extra Characters in a String【动态规划,记忆化搜索,Trie】1735
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
设计模式行为型-模板模式
文章目录 一:模板方法设计模式概述1.1 简介1.2 定义和目的1.3 关键特点1.4 适用场景 二:模板方法设计模式基本原理2.1 抽象类2.1.1 定义和作用2.1.2 模板方法2.1.3 具体方法 2.2 具体类2.2.1 定义和作用2.2.2 实现抽象类中的抽象方法2.2.3 覆盖钩子方法 …...
9.3.tensorRT高级(4)封装系列-自动驾驶案例项目self-driving-车道线检测
目录 前言1. 车道线检测总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。 本次课程学习 tensorRT 高级-自动驾驶案例项目self-driving-车道…...
django.core.exceptions.AppRegistryNotReady: Apps aren‘t loaded yet.
运行django测试用例报错django.core.exceptions.AppRegistryNotReady: Apps arent loaded yet. 解决:在测试文件上方加上 django.setup() django.setup()是Django框架中的一个函数。它用于在非Django环境下使用Django的各种功能、模型和设置。 在常规的Django应用…...
【C#】C#调用进程打开一个exe程序
文章目录 一、过程二、效果总结 一、过程 新建WinForm程序,并写入代码,明确要调用的程序的绝对路径(或相对路径)下的exe文件。 调用代码: 这里我调用的另一个程序的路径是: F:\WindowsFormsApplication2…...
宝塔面板定时监控和重启MySQL数据库(计划任务)
往期教程 如果还有不了解宝塔面板怎么使用的小伙伴,可以看下我总结的系列教程,保证从新手变老鸟: 【建站流程科普】 个人和企业搭建网站基本流程及六个主要步骤常见的VPS主机运维面板汇总—网站运维面板云服务器,VPS࿰…...
Beats:安装及配置 Metricbeat (二)- 8.x
这篇文章是继文章 “Beats:安装及配置 Metricbeat (一)- 8.x” 的续篇。你可以先阅读之前的那篇文章再继续阅读这篇文章。我们在这篇文章中继续之前的探讨。 使用 fingerprint 来代替证书 在实际的使用中,我们需要从 Elasticsear…...
Redis之哨兵模式解读
目录 基本介绍 单哨兵模式 多哨兵模式 哨兵的本质 配置哨兵模式 故障恢复原理 哨兵监控工作流程 哨兵模式缺点 基本介绍 当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多…...
题目:2644.找出可整除性得分最大的整数
题目来源: leetcode题目,网址:2644. 找出可整除性得分最大的整数 - 力扣(LeetCode) 解题思路: 遍历计算即可。 解题代码: class Solution {public int maxDivScore(int[] nums, int[] di…...
报错:axios 发送的接口请求 404
axios 发送的接口请求 404 一、问题二、分析 一、问题 二、分析 axios 发送的接口请求 404,根本没有把接口信息发送到后端,这个时候你可以查看检查一下自己的接口名字,或让后端配合换一个接口名字再发送一次接口请求...
三年前端还不会配置Nginx?刷完这篇就够了
什么是Nginx Nginx是一个开源的高性能HTTP和反向代理服务器。它可以用于处理静态资源、负载均衡、反向代理和缓存等任务。Nginx被广泛用于构建高可用性、高性能的Web应用程序和网站。它具有低内存消耗、高并发能力和良好的稳定性,因此在互联网领域非常受欢迎。 为…...
blender 场景灯光基础设置
在 blender 中,打光分为两个部分,一个是世界光,一个是场景光; 世界光: 世界光:在 Blender 中,世界光指的是用于设置场景整体照明的环境光。它可以通过调整颜色、强度、阴影等参数来影响场景的…...
如何查看 SQLyog 中数据库连接信息中的密码
SQLyog 数据库连接信息中的密码无法选择明文展示,也无法复制 可以将数据库连接信息导出到文本查看明文密码 工具--》导入/导出连接详情:...
【SpringSecurity】八、集成图片验证码
文章目录 1、生成图片验证码2、创建验证码过滤器3、将过滤器加入SpringSecurity过滤链4、修改登录页 SpringSecurity是通过过滤器链来完成的,接下来的验证码,可以尝试创建一个过滤器放到Security的过滤器链中,在自定义的过滤器中比较验证码。…...
【本地代码问题】启动程序,报错:java.lang.IllegalArgumentException: No selectors
启动程序的时候报错了 问题怎么出现的解决方式,注释掉jetty的内容,回归tomcat的使用 问题怎么出现的 我本地启动程序的时候报错了:报的是这个错误,可能和容器的选择有关吧 解决方式,注释掉jetty的内容,回…...
手写RPC框架--4.服务注册
RPC框架-Gitee代码(麻烦点个Starred, 支持一下吧) RPC框架-GitHub代码(麻烦点个Starred, 支持一下吧) 服务注册 服务注册a.添加服务节点和主机节点b.抽象注册中心c.本地服务列表 服务注册 a.添加服务节点和主机节点 主要完成服务注册和发现的功能,其具体流程如下&…...
oracle 解锁表
操作的前提 用 sys 用户 以 SYSDBA 角色登录 第一种解锁方式 1.查询被锁的表 select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s where l.object_id o.object_id and l.session_ids.sid;2.查询那个session引起表被锁 sele…...
使用Dbeaver连接GaussDB
1.下载DBeaver,官网地址 2.安装软件,打开软件,点击数据库->驱动管理器,具体操作如下图: 3、选择新建后进行参数设置,如下图: 具体参数如下图 驱动名称: GS #随便定义 驱动类型&#…...
PowerPaint-V1 Gradio场景应用:从家庭照片修复到工作素材处理
PowerPaint-V1 Gradio场景应用:从家庭照片修复到工作素材处理 1. 引言:图像修复的日常革命 周末整理老照片时,发现珍贵的全家福上有几处划痕;准备工作报告时,急需一张专业配图却找不到合适素材;电商运营需…...
RotaryDial库:嵌入式脉冲拨号信号采集与处理
1. RotaryDial 库深度解析:面向嵌入式系统的脉冲拨号信号采集与处理1.1 脉冲拨号技术原理与工程价值脉冲拨号(Pulse Dialing),又称环路断续拨号(Loop Disconnect Dialing),是模拟电话系统中最早…...
效率倍增器:OpenClaw+千问3.5-27B自动化邮件处理
效率倍增器:OpenClaw千问3.5-27B自动化邮件处理 1. 为什么需要自动化邮件处理 每天早晨打开邮箱,看到堆积如山的未读邮件时,那种窒息感我至今难忘。作为技术团队的接口人,我的邮箱常年保持着2000未读邮件的状态——重要需求埋没…...
X键位8芯M12插座的传输速率最高能到多少?
在工业以太网高速传输场景中,X键位(X-coded)M12插座是专为万兆级速率设计的圆形连接器接口。其最高传输速率可达10Gbps(万兆以太网),符合IEEE 802.3an 10GBASE-T标准,并可向下兼容1000BASE-T&am…...
成为数据科学家之路,第一部分:数学
原文:towardsdatascience.com/roadmap-to-becoming-a-data-scientist-part-1-maths-2dc9beb69b27 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/492ae0fb35397ff6690bc9518f937530.png 简介 数据科学无疑是当今最迷人的领域…...
飞书机器人自动化:OpenClaw调用Qwen3-4B实现会议纪要生成
飞书机器人自动化:OpenClaw调用Qwen3-4B实现会议纪要生成 1. 为什么选择OpenClawQwen3-4B做会议纪要 上个月我经历了连续三天的跨部门会议,每天手动整理会议纪要到深夜的痛苦让我开始寻找自动化解决方案。试过几款SaaS工具后,发现要么需要上…...
wUU代码混淆实战指南:使用Obfuscar构建坚不可摧的安全防线
在当今数字化时代,保护.NET应用程序的源代码安全变得尤为重要。你是否担心自己的知识产权被轻易窃取?是否希望防止竞争对手通过反编译分析你的核心业务逻辑?今天,我将为你详细介绍一款强大的开源混淆工具——Obfuscar,…...
实时操作系统(RTOS)核心特性与工业实践解析
1. 实时操作系统核心特性解析实时操作系统(RTOS)的核心设计理念在于"确定性响应",这与我们日常使用的通用操作系统有着本质区别。我曾参与过工业控制系统的开发,深刻体会到RTOS在关键任务场景下的不可替代性。以数控机床…...
MCP3302/MCP3304 13位差分ADC驱动开发与硬件协同设计指南
1. MCP330X库深度解析:面向嵌入式工程师的13位差分ADC驱动开发指南MCP330X系列Arduino库是专为Microchip MCP3302与MCP3304高精度模数转换器设计的底层驱动框架。该库并非简单封装,而是基于对SPI协议时序、ADC采样原理及嵌入式资源约束的深刻理解所构建的…...
Spring Boot项目必备:用Arthas实现MyBatis Mapper热加载的完整配置流程
Spring Boot项目必备:用Arthas实现MyBatis Mapper热加载的完整配置流程 在持续交付的微服务架构中,开发团队经常面临一个共同挑战:每次修改MyBatis的Mapper XML文件后,都需要重启服务才能验证变更效果。这种低效的反馈循环严重拖慢…...
