参考:
Vue 组件间通信六种方式(完整版)
你可能不需要 Vuex
image.png

1 bus

当项目复杂度不需要使用vuex时,非父子组件传递消息就可以使用这种方式
某个项目就是如此:

  1. // main.js
  2. let bus = new Vue()
  3. Vue.prototype.$bus = bus
  1. // APP.vue
  2. mounted () {
  3. this.$bus.$on('hideBottomMenu', () => {
  4. this.showMenuFlag = false
  5. })
  6. }
  1. //child.vue
  2. mounted() {
  3. this.$bus.$emit('hideBottomMenu')
  4. }