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 相关文章推荐
7个Javascript地图脚本整理
Oct 20 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
Apr 27 Javascript
jQuery.Validate验证库的使用介绍
Apr 26 Javascript
jquery实现的一个导航滚动效果具体代码
May 27 Javascript
Javascript学习笔记之数组的构造函数
Nov 23 Javascript
关于Javascript中defer和async的区别总结
Sep 20 Javascript
jquery与ajax获取特殊字符实例详解
Jan 08 Javascript
Three.js如何实现雾化效果示例代码
Sep 27 Javascript
swiper 解决动态加载数据滑动失效的问题
Feb 26 Javascript
从零开始搭建vue移动端项目到上线的步骤
Oct 15 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
May 18 Javascript
JavaScript简易计算器制作
Jan 17 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面向对象程序设计之类常量用法实例
2014/08/20 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
Javascript this 的一些学习总结
2012/08/31 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
layui table 参数设置方法
2018/08/14 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
python用字典统计单词或汉字词个数示例
2014/04/22 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
房产销售经理职责
2013/12/20 职场文书
明信片寄语大全
2014/04/08 职场文书
毕业生求职信范文
2014/06/29 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android