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 相关文章推荐
一段利用WSH修改和查看IP配置的代码
May 11 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
Jul 09 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
Apr 20 Javascript
jQuery实现炫酷的鼠标轨迹特效
Feb 01 Javascript
使用Jquery实现每日签到功能
Apr 03 Javascript
jquery简单实现网页层的展开与收缩效果
Aug 07 Javascript
JSONP原理及简单实现
Jun 08 Javascript
详解Vue-cli代理解决跨域问题
Sep 27 Javascript
vue实现手机号码抽奖上下滚动动画示例
Oct 18 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
Aug 06 Javascript
vue2.0 中使用transition实现动画效果使用心得
Aug 13 Javascript
JS数组求和的常用方法实例小结
Jan 07 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
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
javascript实现动态标签云
2015/10/16 Javascript
Angular实现form自动布局
2016/01/28 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
python自动化测试之setUp与tearDown实例
2014/09/28 Python
python编码总结(编码类型、格式、转码)
2016/07/01 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python 获取一个值在某个区间的指定倍数的值方法
2018/11/12 Python
Python字典的概念及常见应用实例详解
2019/10/30 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
python deque模块简单使用代码实例
2020/03/12 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
八项规定整改方案
2014/02/21 职场文书
廉洁使者实施方案
2014/03/29 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
个人存款证明书
2014/10/18 职场文书
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript