vue非父子组件通信

1.父组件传递数据给子组件

如果2个组件不是父子组件那么如何通信呢?这时可以通过eventHub来实现通信. 

所谓eventHub就是创建一个事件中心,相当于中转站,可以用它来传递事件和接收事件.

第一步:

let Hub = new Vue(); //创建事件中心

第二步:

组件1触发:

<div @click='eve'></div>

methods: { 

 eve() {

        Hub.$emit('change','lala'); //Hub触发事件  

  }

}

第三步:

组件2接收:

<div>  </div>

created() {

    Hub.$on('change', () => {

     this.msg ='lala';    //Hub接收事件

  });

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容