import EventBus from 'lib/bus.js' // 或者:import EventBus from 'mitt' const $bus = new EventBus() // ② 挂载 // 1.使用provide提供 app.provide('$bus', $bus) // 2.挂载到this上 app.config.globalProperties.$bus = $bus 复制代码 3. 在组件中引入并使用 在created中使用 // Button.v...
vue3取消了全局实例的$on,$off,所以可以借助轻量Mitt库实现200bytes轻量库,进行组件通信,可以跨平台使用,支持批量监听和批量移除。以下为vue3+ts项目中使用Mitt的方法import { createApp } from 'vue' import App from './App.vue' import mitt from "mitt"; const Mit = mitt() // TypeScript注册,必须...
vue3.x版本中不能在使用eventBus了,不过官方有替代品mitt或tiny-emitter 本文介绍的是tiny-emitter 安装 npm install tiny-emitter --save 使用 varEmitter=require('tiny-emitter');varemitter=newEmitter();emitter.on('some-event',function(arg1,arg2,arg3){//});emitter.emit('some-event','arg1 value'...
在utils文件夹中创建bus.js文件 importVuefrom'vue'; exportconstBus=newVue(); 在需要的地方使用 // Fisrt import{Bus}from'../../utils/Bus.js'; // 监听数据 mounted() { Bus.$on('toggleData',(data) =>{ this.toggle= data; }); }, // 清空Bus beforeDestroy() { Bus.$off(); } // ...