Vue实现同级组件的通信

Posted zui-ai-java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue实现同级组件的通信相关的知识,希望对你有一定的参考价值。

一、文件结构

技术图片

 

二、vue.js

打开此链接 https://cdn.bootcss.com/vue/2.6.10/vue.js 

复制粘贴页面的所有内容

 

 

三、index.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>index</title>
 8 
 9 </head>
10 <body>
11     <div id="app">
12         <huahua></huahua>
13         <shuandan></shuandan>
14     </div>
15    
16     <script src="../lib/vue.js"></script>
17     <script src="./js/main.js"></script>
18 </body>
19 </html>

 

四、main.js

 1 // 外部的事件调度器
 2 var Event = new Vue();
 3 
 4 // 花花同学说话
 5 Vue.component("huahua",
 6     template:`
 7         <div>
 8             我说:<input @keyup="on_change"  v-model="i_said"/>
 9         </div>
10     `,
11     data:function()
12         return
13             i_said:‘‘
14         
15     ,
16     methods:
17         on_change:function()
18             Event.$emit("huahua-said-something",this.i_said)
19         
20     
21 );
22 
23 
24 // 栓蛋同学听到后,复述花花同学说的话
25 Vue.component("shuandan",
26     template:`
27         <div>花花说:huahua_said</div>
28     `,
29     data:function()
30         return
31             huahua_said:‘‘
32         
33     ,
34     // 时间钩子,一旦这个组件初始化完成,就开始执行定义的方法
35     mounted:function()
36         // 下面的this指向组件,将其赋值给变量me
37         var me = this;
38         // 使用调度器来监听事件
39         Event.$on("huahua-said-something",function(data)
40             // 下面的this指向Event对象(原因可能是由于回调函数是由Event对象执行的缘故)
41             // console.log(this);
42             me.huahua_said = data;
43         )
44     
45 );
46 
47 new Vue(
48     el:"#app"
49 );

 

五、效果

技术图片

 

六、谢谢观看,如有问题,随时交流哦

 

以上是关于Vue实现同级组件的通信的主要内容,如果未能解决你的问题,请参考以下文章

VUE:组件与组件之间的通信

React组件间通信

Blazor(服务器端)在同级组件之间进行通信

vue实现组件通信的5中方式

vue 实现父子组件通信

vue 实现父子组件通信