vue 销毁eventBus

eventBus 适用于不同页面传递值,当然也可以用vuex, 本篇讲解的是如何使用吃,并销毁eventBus

我在A页面中发布

1 mounted(){
2         eventBus.$on("clickLeft",(id)=>{
3             this.groupId = id;
4             this.getTableData()
5         })
6     },

在B页面中触发

1 clickItems(id){
2             this.activeId = id;
3             eventBus.$emit("clickLeft",id)
4         }

然而,传值是实现了, 但是当我刷新页面或者N次点击此菜单时,会发现A页面的接口被触发了N+1次,这是因为 $on事件是不会自动清楚销毁的,需要我们手动来销毁

所以。我在A组件页面中添加Bus.$off来关闭。代码如下:

beforeDestroy () {
        eventBus.$off('clickLeft')
    },

 

posted @ 2021-08-16 16:51  甜甜宝宝  阅读(2358)  评论(0编辑  收藏  举报