[js高手之路]Vue2.0基于vue-cli+webpack同级组件之间的通信教程
我们接着上文继续,本文我们讲解兄弟组件的通信,项目结构还是跟上文一样.
在src/assets目录下建立文件EventHandler.js,该文件的作用在于给同级组件之间传递事件
EventHandler.js代码:
import Vue from 'Vue';
export default new Vue();
2,在Components目录下新建一个组件Brother1.vue
<template>
<div>
<h3>Z国: ghostwu</h3>
<input v-on:click="send" type="button" value="发送">
<p>{{msg}}</p>
</div>
</template>
<script>
import EventHandler from '../assets/EventHandler.js';
export default {
data(){
return {
msg : ''
}
},
methods : {
send(){
EventHandler.$emit( 'myDefineEv', "ghostwu向岛国发射了一颗原子弹" );
}
},
mounted (){
let _this = this;
EventHandler.$on( "RDefineEv", function( data ){
_this.msg = data;
} );
}
}
</script>
。通过EventHandler.$emit发送一个自定义事件myDefineEv
。通过mouted【相当于jquery的ready, 原生js的onload】,这个是vue生命周期的钩子函数, 用于在页面加载完成之后执行代码,在这里就是接收RDefineEv事件( Brother2.vue定义的 )
2,在Components目录下新建一个组件Brother2.vue
<template>
<div>
<h3>R国:八嘎</h3>
{{msg}}
<input v-on:click="defend" type="button" value="防御">
</div>
</template>
<script>
import EventHandler from '../assets/EventHandler.js';
export default {
data(){
return {
msg : ''
}
},
methods : {
defend(){
EventHandler.$emit( 'RDefineEv', "岛国采用了高科技反原子弹系统" );
}
},
mounted(){
let _this = this;
EventHandler.$on( "myDefineEv", function( data ){
_this.msg = data;
} );
}
}
</script>
。点击按钮发送RDefineEv事件
。文档ready的时候,接收myDefineEv(Brother1.vue)出发的自定义事件
三、在App.vue中调用两个同级组件
<template>
<div id="app">
<Brother1></Brother1>
<Brother2></Brother2>
</div>
</template> <script>
import Brother1 from './components/Brother1.vue';
import Brother2 from './components/Brother2.vue'; export default {
components : {
Brother1,
Brother2
}
}
</script>
小结:
- 创建一个事件传递中心,例如EventHandler.js,用它作为传递消息的中介
- 在需要传值的组件中用EventHandler.$emit触发一个自定义事件,并传递参数
- 在需要接收数据的组件中用EventHandler.$on监听自定义事件,并在回调函数中处理传递过来的参数
[js高手之路]Vue2.0基于vue-cli+webpack同级组件之间的通信教程的更多相关文章
- [js高手之路]Vue2.0基于vue-cli+webpack Vuex用法详解
在这之前,我已经分享过组件与组件的通信机制以及父子组件之间的通信机制,而我们的vuex就是为了解决组件通信问题的 vuex是什么东东呢? 组件通信的本质其实就是在组件之间传递数据或组件的状态(这里将数 ...
- [js高手之路]Vue2.0基于vue-cli+webpack父子组件通信教程
在git命令行下,执行以下命令完成环境的搭建: 1,npm install --global vue-cli 安装vue命令行工具 2,vue init webpack vue-demo 使用v ...
- [js高手之路]Node.js实现简易的爬虫-抓取博客文章列表信息
抓取目标:就是我自己的博客:http://www.cnblogs.com/ghostwu/ 需要实现的功能: 抓取文章标题,超链接,文章摘要,发布时间 需要用到的库: node.js自带的http库 ...
- [js高手之路]Node.js实现简易的爬虫-抓取博客所有文章列表信息
抓取目标:就是我自己的博客:http://www.cnblogs.com/ghostwu/ 需要实现的功能: 抓取博客所有的文章标题,超链接,文章摘要,发布时间 需要用到的库: node.js自带的h ...
- Vue项目中同级组件传值的例子
大家好,今天给大家带来Vue项目中同级组件之间传值的例子,父子组件之间的通信比较简单,这里不做讨论. 假设该项目中的需求如下: 图中左上角有一个按钮,我们的需求是点击它时,侧边导航栏收缩且主界面放大, ...
- [js高手之路] vue系列教程 - 事件专题(4)
本文主要讲解事件冒泡,事件绑定的简写,事件默认行为,按键码等一系列与事件相关的知识. 一.事件绑定的简写,@事件类型. 之前我的[js高手之路] vue系列教程 - vue的事件绑定与方法(2) 用 ...
- [js高手之路]Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件
接着这篇文章[js高手之路]Node.js+jade抓取博客所有文章生成静态html文件继续,在这篇文章中实现了采集与静态文件的生成,在实际的采集项目中, 应该是先入库再选择性的生成静态文件.那么我选 ...
- [js高手之路]html5 canvas动画教程 - 边界判断与反弹
备注:本文后面的代码,如果加载了ball.js,那么请使用这篇文章[js高手之路] html5 canvas动画教程 - 匀速运动的ball.js代码. 边界反弹: 当小球碰到canvas的四个方向的 ...
- [js高手之路]设计模式系列课程-发布者,订阅者重构购物车
发布者订阅者模式,是一种很常见的模式,比如: 一.买卖房子 生活中的买房,卖房,中介就构成了一个发布订阅者模式,买房的人,一般需要的是房源,价格,使用面积等信息,他充当了订阅者的角色 中介拿到卖主的房 ...
随机推荐
- Java基础之TCP与UDP
OSI 7层参考模型 物理层 --> 数据链路层 --> 网络层 --> 传输层 --> 会话层 --> 表示层 --> 应用层 按此顺序称为拆包,反之为封包. T ...
- Redis主从复制(Master/Slave)
Redis主从复制(Master/Slave) 修改配置文件 拷贝多个redis.conf文件分别配置如下参数: 开启daemonize yes pidfile port logfile dbfile ...
- POJ 2386 Lake Counting (简单深搜)
Description Due to recent rains, water has pooled in various places in Farmer John's field, which is ...
- 求m区间内的最小值
洛谷P1440 求m区间内的最小值 ............................................................................... 以上 ...
- jQuery相关知识总结一
1day-jquery 1. 1 jQuery 1概念 * JavaScript(ECMA/DOM/BOM)在实际开发中,使用比较麻烦,有浏览器兼容问题. * JavaScript类库(JS库) 的目 ...
- java学习笔记随记
12月21日 其中1 2 是赋值 Source----format 格式化调整代码 shift+ctrl+F Ctrl +d 删除行 代码规范, 首字母大写 System.out.println其中 ...
- WordCount去除标点方法之一
package com.bw.day10;import java.io.IOException;import java.util.StringTokenizer;import org.apache.h ...
- 解决Nuget:https://api.nuget.org/v3/index.json 访问不了的问题
最近在家中用使用VS编译项目时,Nuget包一直下载不了,直接在浏览器中访问https://api.nuget.org/v3/index.json ,浏览器也打不开网址.把https协议改成http协 ...
- [HNOI2013]游走 期望+高斯消元
纪念首道期望题(虽说绿豆蛙的归宿才是,但是我打的深搜总觉得不正规). 我们求出每条边的期望经过次数,然后排序,经过多的序号小,经过少的序号大,这样就可以保证最后的值最小. 对于每一条边的期望经过次数, ...
- 【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析
一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...