在看别人项目的时候看到了这样的代码如下:
Vue.prototype.$bus = new Vue();
// A组件通过$emit触发当前实例上的事件
this.$bus.$emit('myChange');
// B组件通过$on监听当前实例上的自定义事件
this.$bus.$on('myChange', () => {
// 拿到传过来的数据进行你的操作
});
后来通过百度了解到,这个叫vue事件总线。这样用的原因是,项目不是特别大用vuex的话就特别麻烦,然后就通过这种方式来实现组件之间的通信。
网友评论