自我总结篇之vue的组件通信(父传子 子传父 非父子)

一:父传子

父组件代码如下:

<template><div class="father"><child :message='message' :message2='message2'></child>
</div>
</template>
<script>
import child from '@/components/child.vue'
export default {components:{child},data(){return{message: '我是来自父组件的第一条message',message2:'我是来自父组件的第二条message'}}
}
</script>

子组件代码如下:

<template><div class="child">{{message}}<br/>{{message2}}</div>
</template>
<script>
export default {props:['message','message2']
}
</script>

运行结果如下图:

二:子传父

子组件代码如下:

<template><div class="child" ><button @click="sendMsgToParent">点击开始传值</button></div>
</template>
<script>
export default {data(){return{}},methods:{sendMsgToParent(){this.$emit('listenMsg','我是来自子组件的message')}}
}
</script>

父组件代码如下:

<template><div class="father">{{msg}}<child v-on:listenMsg="showMsg"></child>
</div>
</template>
<script>
import child from '@/components/child.vue'
export default {components:{child},data(){return{msg:'我是来自父组件的msg'}},methods:{showMsg(data){this.msg = data}}
}
</script>

运行结果如下:

 

点击按钮后,运行结果如下:

三:非父子

如果是非父子进行组件通信的话,我们首先要创建一个桥梁,通过这个桥梁使两个组件产生联系。

首先创建‘桥梁’-----bus.js,代码如下

import Vue from 'vue'
const bus = new Vue()
export default bus

然后组件A通过点击事件想将数据发送给组件B,代码如下

<template><div class="hello">{{number}}<br/><button @click="sendNumber()">发送</button></div>
</template>
<script>
import bus from '../assets/js/bus.js'
export default {data(){return{number:'我是hello组件参数123'}},methods:{sendNumber(){bus.$emit('acceptNumber',this.number)}} 
}
</script>

组件B接受发送过来的数据,代码如下

<template><div class="world">{{number}}</div>
</template>
<script>
import bus from '../assets/js/bus.js'
export default {data(){return{number:'我是world组件参数456'}},created(){bus.$on('acceptNumber',data =>{this.number = data})}
}
</script>

代码运行后,演示结果如下图

 

当点击发送按钮后,演示结果如下图

至此,非父子组件通信完成。

 

转载于:https://www.cnblogs.com/YMoonwind/p/11164129.html

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

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

相关文章

Window Server 2008中开启Window Media Player功能

Window Server 2008中开启Window Media Player功能 服务器管理器 功能 优质Windows音频视频体验 打勾 安装 其它功能有&#xff1a; 桌面休验 等.... the end! 转载于:https://www.cnblogs.com/sqlite3/archive/2010/12/02/2566887.html

c语言数据结构kmp中next计算,数据结构——关于KMP算法中next函数的详细解析

以前看到数据结构中字符串的模式匹配时&#xff0c;花了半天的时间&#xff0c;才把KMP算法中的next函数整明白了&#xff0c;结果过了几天在看到这时&#xff0c;只记得next[j1]next[j]1&#xff0c;但是有时候能套公式正确算出&#xff0c;有时候就算不对&#xff0c;因此今天…

浅谈“微服务”

微服务概述 1.1 易于扩展 1.2 部署简单 1.3 技术异构性 数据库的服务化切分 2.1 什么是“分库分表”&#xff1f; 2.2 数据库扩展的几种方式 2.3 分库分表的几种方式 2.4 引入分库分表中间件后面临的问题 2.5 现有分库分表中间件的横向对比 微服务架构中的分布式事务 3.1 什么…

liigo:爱可视70平板电脑使用感受,遗憾与满足并存

我想大部分人来这里&#xff0c;不是想听美言的。许多资料、宣传性文章、评测、视频等等&#xff0c;网络上已经有很多了&#xff08;其中外文占很大比例&#xff09;。 我想大部分人来这里&#xff0c;是想听真正的使用感受的。我想&#xff0c;我这里提到的许多内容&#xff…

c语言 拓补排序源代码,拓扑排序C语言代码

#include#include#include#include//----------------公共的-----------------#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2//---------------------------------------//*************栈的初始大小和增量*************…

visual studio 正则表达式 查找与替换文本

好多时候想要重构一些代码&#xff0c;但是修改起来发现很麻烦&#xff0c;因为简单的文本替换不能满足需求&#xff0c;这时候就要借助ide的力量了。还好visual studio 2010支持正则表达式查找和替换。如下图所示&#xff1a; document.all.domElementA.style.visibility hid…

51 Python - 装饰器 参数化装饰器——装饰器更通用

05参数化装饰器——装饰器更通用 参数化装饰器如何理解&#xff0c;简单理解就是让装饰器可以通用。场景举例&#xff0c;现在有个需求要改某一段文字&#xff0c;既要加<P>标签&#xff0c;又要加<B>&#xff0c;还有加<Div>。是不是意味着需要定义多个装饰…

手机android怎么开机画面,Android使用BroadcastReceiver实现手机开机之后显示画面的功能...

本文实例讲述了Android使用BroadcastReceiver实现手机开机之后显示画面的功能。分享给大家供大家参考&#xff0c;具体如下&#xff1a;在此例中介绍了怎样使用BroadcastRececiver。使用BroadcastReceiver需要继承这个类&#xff0c;并且重写public void onReceiver(Context co…

[html] HTML采用的是RGB颜色还是CMYK颜色?为什么?

[html] HTML采用的是RGB颜色还是CMYK颜色&#xff1f;为什么&#xff1f; 用在电脑或者手机上显示的大部分都是RGB&#xff0c;用于需要印刷的都用CMYK 并且不同的显示器色域不同会导致色差&#xff0c;不同浏览器也有自己的调色板&#xff0c;后面总结出来过一套web安全色&am…

Registered Nurse in the US

注册护士移民美国的条件美国护士RN考试介绍美国注册护士考试复习美国各州注册护士考试要求CGFNSRegistered nurseTop Paid Registered Nurses 转载于:https://www.cnblogs.com/sbxlm/p/3655784.html

安卓突然自动关机 android正在启动,华为手机开机重启后老是显示安卓正在启动优化应用是为什么?...

建议进入Recovery模式执行双清wipe操作。Recovery模式指的是一种可以对安卓机内部的数据或系统进行修改的模式(类似于windowsPE或DOS)。在这个模式下可以刷入新的安卓系统&#xff0c;或者对已有的系统进行备份或升级&#xff0c;也可以在此恢复出厂设置。进入recovery的方法&a…

[html] 写一个密码默认星号,但可以查看密码的输入框

[html] 写一个密码默认星号&#xff0c;但可以查看密码的输入框 <i class"icon-password"></i> <input type"text" v-if"pwdType" v-model"eyeTxt" /> <input type"password" placeholder"输入新…

算法天书

在cstheory.stackexchange看到一个很有营养的帖子,发起人从《来自天书的证明》(Proofs from the Book)得到灵感&#xff0c;意思是&#xff0c;假如有上帝的话&#xff0c;上帝又有一本“算法天书”的话&#xff0c;那么这本算法书里面应该有哪些算法呢&#xff1f;NB而踊跃的跟…

linux+右键快捷,LINUX 添加右键打开终端快捷方式

第一种方法&#xff1a;安装一个包&#xff0c;即可在右键里面添加一个“打开终端”的菜单。sudoapt-getinstallnautilus-open-terminal&#xff0c;安装完成&#xff0c;注销以后再回来&#xff0c;就可以右键打开terminal了)第二种方法&#xff1a;进入主目录的.gnome2/nauti…

python中numpy矩阵运算操作大全(非常全)!

python中numpy矩阵运算操作大全&#xff08;非常全&#xff09; //2019.07.10晚python矩阵运算大全1、矩阵的输出形式&#xff1a;对于任何一个矩阵&#xff0c;python输出的模板是&#xff1a;import numpy as np #引入numpy模块np1np.array([[1,2,3],[1,3,4],[1,6,2]...]) #数…

[html] 制作一个不规则形状有哪些方法可以实现?

[html] 制作一个不规则形状有哪些方法可以实现&#xff1f; canvas个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

android dialog 点击确定不消失,AlertDialog点击按钮不消失的实现方法

我有一个文本输入对话框&#xff0c;当我点击对话框上的“是”按钮&#xff0c;它会验证输入&#xff0c;然后关闭对话框。但是&#xff0c;如果输入错误&#xff0c;我想停留在同一个对话框中.。每一次&#xff0c;无论输入是什么&#xff0c;对话框应该自动关闭&#xff0c;当…

计算平面坐标某点(x,y)与原点(0,0)的角度

以前某个项目有一个功能需要手指滑动一个饼图。当时搬高中数学公式&#xff0c;并大量查询网络&#xff0c;花了两个小时把那个功能的数学算法搞定。 今天在看android下一段源码时&#xff0c;突然发现一个数学函数&#xff1a;Math.atan2 &#xff0c;一下子羞愧难当&#xff…

[html] 跨域通信有哪些方式?

[html] 跨域通信有哪些方式&#xff1f; JSONPWebSocketCORSHashpostMessage个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

《CLR via C#》 第三版的主要内容

Jeffrey Richter 在他的博客中叙述了 CLR via C#第三版的主要内容&#xff0c;和改动。原本如下&#xff1a;&#xff08;必要的地方加了翻译&#xff09; Last week I submitted the reaming chapters for my new book. It is now being edited and should be available right…