最近在做项目的过程中发现有页页面接口会多次调用,找了很久才发现是子组件向父组件传值引起的。
上解决办法:
(1)方法一:
在调用之前先将事件销毁,否则会重复叠加
this.$EventBus.$off(event).$on(event, (data) => {
// event 事件名称
// data 传过来的数据
});
(2)方法二:
在生命周期里面进行销毁
beforDestroy(){
this.$EventBus.$off(event); //当这个组件销毁的时候EventBus也跟着一起销毁
}
我这里的EventBus是在main.js,里面定义的,所以可以直接通过this调用
Vue.prototype.$EventBus = new Vue()
具体为什么会叠加,有没有大佬知道的,可在评论区留言哟!
参考地址:https://blog.csdn.net/weixin_39773218/article/details/90736797