//事件总线: 类似于单独对于一个功能的处理。组件间通信的方式;适用于任意组件间通信 // export default{ // //监控事件 // $on(eventName,handler){ // if(!listeners[eventName]){ // listeners[eventName] = new Set(); // } // listeners[eventName].add(handler); // }, // //取消监听 // $off(eventName,handler){ // if(!listeners[eventName]){ // return // } // listeners[eventName].delete(handler); // }, // //触发事件 // $emit(eventName,...args){ // if(!listeners[eventName]){ // return // } // for(const handler of listeners[eventName]){ // handler(...args) // } // } // } //事件总线还有这种写法,这个vue实例上也有on,off,emit /* * 事件名:mainScroll * 含义:主区域滚动条位置变化后触发 * 参数: * - 滚动的dom元素,如果是undefined,则表示dom元素已经不存在 * * 事件名:setMainScroll * 含义:当需要设置主区域滚动条位置时触发 * 参数: * - 滚动高度 */ import Vue from "vue"; const app = new Vue({}) Vue.prototype.$bus = app; export default app;
标签:vue,总线,eventName,listeners,handler,事件 From: https://www.cnblogs.com/wsx123/p/17479194.html