在一些正规的大型项目的企业级开发过程中我们一般会引入Vuex来对Vue所有组件进行状态管理,可以轻松实现各组件间的通信。但是有时候做做自己的小项目,没有必要使用Vuex时,如何简单的实现组件间的通信?父组件与子组件间就不说了,关于兄弟组件间通信,这里有个简单方法。

1.新建bus.js,new一个Vue实例:

import Vue from 'vue';
export default new Vue;

2.需要通信的组件都引入该bus.js

import Bus from '@/util/bus';

3.调用Bus的触发事件和监听事件实现通信

Bus.$emit('changeIndex', index);
Bus.$on('changeIndex', (index) => {
this.navIndex = index;
});

这里的bus.js可以理解为是公共汽车,这个bus的作用就是行驶在各个组件之间从而实现组件间通信、参数传递,写起来也比较方便,这种实现方式Vue官网也有介绍,可以通过单独的事件中心管理组件间的通信:eventHub

最新文章

  1. OpenSessionInViewFilter配置和作用
  2. ik扩展支持Solr配置
  3. 根据Request获取客户端IP 内网IP及外网IP
  4. SQL中 将同一个表中的A列更新到B列,B列更新到A列
  5. AspectJ基础学习之三HelloWorld(转载)
  6. Linux学习笔记<四>
  7. eclipse下环境变量设置:eclipse导入工程出现 Unbound classpath variable Error
  8. Javascript 正则表达式_3
  9. ubantu 安装mysql
  10. PHP流程控制(一)
  11. oracle的学习 第二节:创建数据表
  12. Net的struct的内存对齐问题
  13. Django socketio 安装
  14. Linux下找不到动态链接库
  15. BestCoder Round #16
  16. 服务器修改 ssh 22端口
  17. 虚拟桌面 VDI
  18. php抽象类和接口的区别
  19. Python练习之pillow
  20. linux(centos)上安装mysql教程,为需要远程登录的用户赋予权限

热门文章

  1. phpcms 缓存模板文件
  2. 【Python】Python点滴(一)——pip工具使用
  3. 自定义requestAnimationFrame帧频
  4. FreeMarker自定义TemplateDirectiveModel
  5. BZOJ3932 CQOI2015 任务查询系统 【主席树】
  6. git 第一次提交至仓库
  7. lua中的数学库
  8. ambassador kubernetes native api gateway
  9. C语言(C99标准)在结构体的初始化上与C++的区别
  10. 【Leetcode 167】Two Sum II - Input array is sorted