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 相关文章推荐
javascript 写类方式之八
Jul 05 Javascript
分享27个jQuery 表单插件集合推荐
Apr 25 Javascript
关于textarea提交的内容无法换行的解决办法
Apr 09 Javascript
将两个div左右并列显示并实现点击标题切换内容
Oct 22 Javascript
JQuery处理json与ajax返回JSON实例代码
Jan 03 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
Oct 17 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
JS之获取样式的简单实现方法(推荐)
Sep 13 Javascript
文件上传插件SWFUpload的使用指南
Nov 29 Javascript
jQuery Validate验证框架详解(推荐)
Dec 17 Javascript
js中setTimeout的妙用--防止循环超时
Mar 06 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
Nov 26 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中获取系统信息的方法
2013/06/25 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
PHP函数积累总结
2019/03/19 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
js实现左右轮播图
2020/01/09 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
python字典多条件排序方法实例
2014/06/30 Python
Python写的Socks5协议代理服务器
2014/08/06 Python
python实现随机漫步方法和原理
2019/06/10 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
如何定义一个可复用的服务
2014/09/30 面试题
计算机网络专业推荐信
2013/11/24 职场文书
校园活动策划书范文
2014/01/10 职场文书
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers