最近在做一个vue结合arrdio的桌面项目,记录一些其中的点
跨组件传递值
vue自带封装的
o
n
和
on和
on和emit,事件机制可以很好的解决这个问题。
但是在项目中引入了一个Bus.js文件,长这个样子
import Vue from 'vue'
export default new Vue();
就是用一个vue实例来当作桥梁,监听和发布事件。
项目中遇到过一个问题:
一个组件A与不同的组件B\C\D进行同一功能的交互,且A\B\C\D为兄弟组件
组件间可以使用事件机制进行数据传递和交互,但A组件则会注册相同的功能的事件来监听和分发数据,过于凌乱
解决思路:类似于局域网的数据分发接受机制
解决方案:只用一个事件,但分别记录事件来源和目的地,然后进行数据的分发,在B\C\D组件中,过滤目的地不是自己的数据,留下自己的数据进行处理。