vue 非父子关系组件间通信

1、 新建一个.vue文件middle.vue

<template>
    <div></div>
</template>


<script>
    import Vue from 'vue'
    let middleware = new Vue();
    export default middleware;
</script>

2、在header.vue中

  import Bus from "./middleWare.vue"

  mounted() {
     //监听事件headerEvent,当此事件在别的文件中被触发时,执行函数
      Bus.$on('headerEvent',  (name)=> {
              this.getInfo(name);
          })
    },
    
    methods:{
		click(){
			  Bus.$emit('headTopEvent,‘jhon’);    //触发事件headTop文件中监听的事件headTopEvent,并传递参数
		}
	}

3\在headTop.vue中

  import Bus from "./middleWare.vue"

  mounted() {
     //监听事件headTopEvent,当headTopEvent被触发时,执行函数
      Bus.$on('headTopEvent',  (name)=> {
              this.getInfo(name);
          })
    },
    
    methods:{
		click(){
			  Bus.$emit('headerEvent',‘jhon’);    //触发事件header文件中的监听事件headerEvent
		}
	}
发布了26 篇原创文章 · 获赞 3 · 访问量 7940

猜你喜欢

转载自blog.csdn.net/Eva3288/article/details/83826154