EventBus事件总线
1.创建EventBus
import Vue from "vue";
export default new Vue();
文件位置没有特殊要求
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/126e55b93ad911a822014dc88035ac6c.png)
2.需要存储值的地方
2.1.首先引入
<template>
...
<div @click="sendMsg">给兄弟组件传递参数</div>
...
</template>
<script>
import eventBus from '../eventBus'
export default {
...
methods: {
...
sendMsg() {
eventBus.$emit("share", "传递数据")
}
},
}
</script>
2.2 使用
<template>
<div>{{ getMsg }}</div>
</template>
<script>
import eventBus from '../eventBus'
export default {
...
created() {
eventBus.$on('share', (value:) => {
this.getMsg = value
})
},
beforeDestroy() {
eventBus.$of("share", ()=> {})
}
}
</script>
3. 注意事项
- 传递方可以在点击的时候使用
eventBus.$emit('方法名', 传递的参数)
- 接收方在
created
或者mounted
中使用eventBus.$on('方法名', (参数) => {})
- 接收方在
beforeDestroy
中使用eventBus.$of("share", ()=> {})
解绑