emitter vue3
时间: 2023-10-09 14:09:10 浏览: 153
vue3
在Vue 3中,由于移除了$on和$off等事件API,你可以使用第三方库mitt或tiny-emitter作为事件总线来替代。其中,使用mitt的方式比较常见。你可以通过安装mitt来引入该库,例如使用yarn add mitt命令安装。然后,在你的代码中,可以创建一个mitt实例作为事件总线对象,并通过emit方法触发事件,通过on方法监听事件,通过off方法卸载事件监听。
如果你想在Vue 3 Composition API中使用事件总线,你需要在main.js中使用Vue 3的新provideAPI来提供事件总线实例。你可以引入mitt库,并在代码中创建一个mitt实例作为事件总线对象。然后,你可以在任何组件中使用inject来注册事件总线,并通过on方法监听事件,通过emit方法触发事件。记得在组件销毁时使用off方法卸载事件监听。
总结起来,在Vue 3中使用mitt作为事件总线的步骤如下:
1. 在项目中安装mitt库:yarn add mitt
2. 在main.js中引入mitt库,并创建一个mitt实例作为事件总线对象。
3. 使用Vue 3的新provideAPI,在main.js中提供事件总线实例。
4. 在需要使用事件总线的组件中,使用inject来注册事件总线。
5. 在组件中使用on方法监听事件,使用emit方法触发事件。
6. 在组件销毁时使用off方法卸载事件监听。
这样就可以在Vue 3中使用mitt作为事件总线了。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [vue3 事件总线 emit](https://blog.csdn.net/XKFC1/article/details/124192137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [Vue3优雅的使用事件总线](https://blog.csdn.net/TomCat_And_Jerry/article/details/119878603)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文