vue移除监听、删除监听、卸载监听、关闭监听、事件总线


1、多次触发

vue中使用bus传值时,接收页面多次触发接收方法,多个页面公用一个bus时会触发所有打开过的bus。


1.1、代码

mounted() {
	bus.$on("busMethod", (data) => {
		console.log(data);
	});
},
  
beforeDestroy() {
	bus.$off("busMethod");
},

1.2、相关链接

链接


2、不触发

2.1、代码

create() {
	bus.$on("getData", this.getList());
},

beforeDestroy() {
	bus.$off("getData", this.getList());
},

2.2、相关链接

sf-vue – 事件总线 EventBus


3、关闭监听事件参数

EventBus.$off("eventName", callback); 只移除这个回调的监听器。
EventBus.$off('eventName'); 移除该事件所有的监听器。
EventBus.$off(); 移除所有的事件监听器,不需要添加任何参数。