// a 组件
created () {
Bus.$on('refreshGroupList', () => {
// 这是一个bus的订阅自定义事件
});
},
beforeDestroy () { // 在组件销毁之前清除自定义事件
Bus.$off('refreshGroupList');
}
// b 组件 在事件中触发自定义事件
Bus.$on('refreshGroupList');
之所以清除bus的自定义事件,是因为bus的自定义事件是基于“发布订阅”模式的。当我们没有清除自定义事件,就会在页面离开再进入后就会触发$on,就会给事件队列中添加一个refreshGroupList事件,每次离开页面再进入都会添加,所有$emit触发的时候都会多执行一次自定义事件的回调函数。