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 相关文章推荐
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
Jul 25 Javascript
JavaScrip常见的一些算法总结
Dec 28 Javascript
js制作网站首页图片轮播特效代码
Aug 30 Javascript
AngularJS入门教程之多视图切换用法示例
Nov 02 Javascript
Jquery删除css属性的简单方法
Dec 04 Javascript
canvas绘制环形进度条
Feb 23 Javascript
详解vue-router和vue-cli以及组件之间的传值
Jul 04 Javascript
JavaScript实现计算多边形质心的方法示例
Jan 31 Javascript
React中的refs的使用教程
Feb 13 Javascript
element-ui 表格实现单元格可编辑的示例
Feb 26 Javascript
小程序接口的promise化的实现方法
Dec 11 Javascript
如何检测JavaScript中的死循环示例详解
Aug 30 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
php中一个完整表单处理实现代码
2011/11/10 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
layui的面包屑或者表单不显示的解决方法
2019/09/05 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
python登录QQ邮箱发信的实现代码
2013/02/10 Python
python单链表实现代码实例
2013/11/21 Python
使用python分析git log日志示例
2014/02/27 Python
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
python连接MySQL数据库实例分析
2015/05/12 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
Python通过文本和图片生成词云图
2020/05/21 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
html5中valid、invalid、required的定义
2014/02/21 HTML / CSS
美国创意之家:BulbHead
2017/07/12 全球购物
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
社会实践心得体会
2014/01/03 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
继承公证书样本
2014/04/04 职场文书
大二学生自我检讨书
2014/10/23 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书