美文网首页程序员
vue非父子组件通信

vue非父子组件通信

作者: 程序员是粉色的 | 来源:发表于2018-06-12 09:48 被阅读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接收事件

      });

    }

    相关文章

      网友评论

        本文标题:vue非父子组件通信

        本文链接:https://www.haomeiwen.com/subject/jofleftx.html