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);
			}
		}
	}
	// ...............................
相关推荐
计算机魔术师3 分钟前
别人IPO发股票,Anthropic一口气搞出五类
前端
ai_coder_ai22 分钟前
使用Web IDE边写自动化脚本
运维·前端·自动化
贾伟康1 小时前
【共创稿事节】一个 UserDataManager 管八类数据:Preferences 持久化的克制用法
java·服务器·前端·harmonyos·arkts·鸿蒙
卓豪终端管理1 小时前
【无标题】
java·服务器·前端
修炼的dance1 小时前
一条命令查清 WebM 有没有透明通道,默认解码会骗你
前端
小灰灰搞电子1 小时前
Rust+Slint 实现动态流光边框源码分享
开发语言·前端·rust·流光边框
niucloud-admin1 小时前
NIUCLOUD PHP SAAS上门家政使用文档:机构报表
前端·人工智能
枣把儿2 小时前
开源!全套公众号写作、封面、发布自动化工具包!
前端·命令行
志尊宝2 小时前
AI原生前端开发(031):AI辅助的性能分析与瓶颈定位
javascript·人工智能·ai-native
陶醉的松鼠2 小时前
前端容易忽略的 debugger 调试技巧
前端