vue2利用Bus.js如何实现非父子组件通信详解


Posted in Javascript onAugust 25, 2017

前言

大家应该都知道,vue2中废弃了$dispatch和$broadcast广播和分发事件的方法。父子组件中可以用props和$emit()。如何实现非父子组件间的通信,可以通过实例一个vue实例Bus作为媒介,要相互通信的兄弟组件之中,都引入Bus,然后通过分别调用Bus事件触发和监听来实现通信和参数传递。下面话不多说了,来一起看看详细的介绍吧。

Bus.js可以是这样

import Vue from 'vue'
export default new Vue()

在需要通信的组件都引入Bus.js

import Bus from '../common/js/bus.js'

添加一个button,点击后$emit一个事件

<button @click="toBus">子组件传给兄弟组件</button>

methods

methods: {
 toBus () {
  Bus.$emit('on', '来自兄弟组件')
 }
 }

另一个组件也import Bus.js 在钩子函数中监听on事件

import Bus from '../common/js/bus.js'
export default {
 data() {
  return {
  message: ''
  }
 },
 mounted() {
  Bus.$on('on', (msg) => {
   this.message = msg
  })
  }
 }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery下json数组的操作实现代码
Aug 09 Javascript
关于递归运算的顺序测试代码
Nov 30 Javascript
javascript修改表格背景色实例代码分享
Dec 10 Javascript
JavaScript中获取鼠标位置相关属性总结
Oct 11 Javascript
js淡入淡出的图片轮播效果代码分享
Aug 24 Javascript
Bootstrap表单布局
Jul 19 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
Aug 04 Javascript
ES6解构赋值的功能与用途实例分析
Oct 31 Javascript
详解Angular5 路由传参的3种方法
Apr 28 Javascript
js实现轮播图的完整代码
Oct 26 Javascript
react native 原生模块桥接的简单说明小结
Feb 26 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 #Javascript
在Js页面通过POST传递参数跳转到新页面详解
Aug 25 #Javascript
Vue上传组件vue Simple Uploader的用法示例
Aug 25 #Javascript
DVA框架统一处理所有页面的loading状态
Aug 25 #Javascript
基于JavaScript实现评论框展开和隐藏功能
Aug 25 #Javascript
js求数组中全部数字可拼接出的最大整数示例代码
Aug 25 #Javascript
Vue.js进行查询操作的实例详解
Aug 25 #Javascript
You might like
域名查询代码公布
2006/10/09 PHP
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
php生成excel列序号代码实例
2013/12/24 PHP
Web程序工作原理详解
2014/12/25 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
JQuery实现左右滚动菜单特效
2015/09/28 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
Python map和reduce函数用法示例
2015/02/26 Python
用matplotlib画等高线图详解
2017/12/14 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
写给女生的道歉信
2014/01/08 职场文书
咖啡厅创业计划书范本
2014/01/22 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
怎样写工作总结啊!
2019/06/18 职场文书