程序员

vue非父子组件通信

2018-06-12  本文已影响95人  程序员是粉色的

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接收事件

  });

}

上一篇 下一篇

猜你喜欢

热点阅读