vue2.0 中央控制总线 Bus

vue2.0 中央控制总线 Bus

1. 废话不多说,直接上代码
2. main.js中 加入

javascript 复制代码
// main.js
//创建中央控制总线  Bus
// 说白了就是new一个vue实例,将方法挂在上去
Vue.prototype.$event = new Vue();
  1. 事件分发***(A组件中)***
javascript 复制代码
	  // A组件中
	  // 事件分发
	  // 参数一  方法名
	  // 参数二  传递出去的参数
    methods: {
         clickFun(){
           this.$event.$emit('refreshFun',Math.random())
         },
       }
  1. 事件监听 (B组件)
javascript 复制代码
    // 事件监听
    mounted() {
	    this.$event.$on("refreshFun", (val) => {
	      console.log(val)   // 0.7022180283884656
	    });
	  },
  1. 事件销毁***(A组件中)***
javascript 复制代码
 beforeDestroy(){
   this.$event.off('refreshFun') 
 }
  1. 一个简单的事件分发完成!
  2. 当然你也可以在 (拓展 main.js )
javascript 复制代码
    // 对方法进一步的处理
	Vue.prototype.$event = new vue({
		data:{
		},
		methods:{
		    //绑定事件
			on(eventname,callback){
			   this.$on(eventname, callback);
			},
			//触发事件,传递数据
			emit(eventname,...arg){
			   this.$emit(eventname, ...args);
			},
			// 解绑
			off(eventname,callback){
			   this.$off(event, callback);
			}
		}
	}
	// ...............................
相关推荐
GoldKey1 小时前
gcc 源码阅读---语法树
linux·前端·windows
Xf3n1an2 小时前
html语法
前端·html
张拭心2 小时前
亚马逊 AI IDE Kiro “狙击”Cursor?实测心得
前端·ai编程
漠月瑾-西安2 小时前
如何在 React + TypeScript 中实现 JSON 格式化功能
javascript·jst实现json格式化
烛阴2 小时前
为什么你的Python项目总是混乱?层级包构建全解析
前端·python
止观止3 小时前
React响应式组件范式:从类组件到Hooks
javascript·react.js·ecmascript
@大迁世界3 小时前
React 及其生态新闻 — 2025年6月
前端·javascript·react.js·前端框架·ecmascript
LJianK13 小时前
Java和JavaScript的&&和||
java·javascript·python
红尘散仙4 小时前
Rust 终端 UI 开发新玩法:用 Ratatui Kit 轻松打造高颜值 CLI
前端·后端·rust
mldong4 小时前
mldong-goframe:基于 GoFrame + Vben5 的全栈快速开发框架正式开源!
vue.js·后端·go