- 先在utils文件夹下新建一个bus.js文件(bus就是vue的一个实例,可以理解为vue实例化后的一个组件)
import Vue from 'vue';
const bus = new Vue();
export default bus;
- 在main.js文件中把bus挂载Vue实例的原型对象上,也就是说用Vue实例化的每个组件都可以访问到这个$bus属性了
import bus from '@/utils/bus.js';
Vue.prototype.$bus = bus;
- 使用
// 触发
this.$bus.$emit(event,value)
// 接收
this.$bus.$on(event,(value)=> {console.log(value)})
// 销毁
beforeDestroy() {this.$bus.$off(event)}
本文介绍了如何在Vue项目中创建一个bus.js文件作为事件总线,将它挂载到Vue实例原型上,以便各个组件间通信。通过$emit触发事件,$on监听事件并处理,最后在组件销毁时清除监听。
1万+

被折叠的 条评论
为什么被折叠?



