vue 兄弟组件相互通信

兄弟组件之间相互传递数据

首先创建一个vue的空白实例(兄弟间的桥梁)

两个兄弟之间建立一个js文件

import Vue from ‘vue‘
export default new Vue()

子组件 childa
发送方使用 $emit 自定义事件把数据带过去

<template>
    <div>
        <span>A组件->{{msg}}</span>
        <input type="button" value="把a组件数据传给b" @click ="send">
    </div>
</template>
<script>
import vmson from "../../../util/emptyVue"
export default {
    data(){
        return {
            msg:{
                a:‘111‘,
                b:‘222‘
            }
        }
    },
    methods:{
        send:function(){
            vmson.$emit("aevent",this.msg)
        }
    }
}
</script>
<template>
 <div>
    <span>b组件,a传的的数据为->{{msg}}</span>
 </div>
</template>
<script>
      import vmson from "../../../util/emptyVue"
      export default {
         data(){
                return {
                    msg:""
                }
            },
         mounted(){
                vmson.$on("aevent",this.getEvnt)
        },
    methods:{
      getEvnt(val){
        console.log(val);
      }
    }
    }
</script>

父组件:

<template>
     <div>
      <childa></childa>
      <br />
      <childb></childb>
     </div>
</template>
<script>
   import childa from ‘./childa.vue‘;
   import childb from ‘./childb.vue‘;
   export default {
       components:{
           childa,
           childb
       },
       data(){
           return {
               msg:""
           }
       },
       methods:{

       }
   }
</script>

原文地址:https://www.cnblogs.com/xiaozhumaopao/p/12521136.html

时间: 2024-08-30 13:21:56

vue 兄弟组件相互通信的相关文章

vue兄弟组件的传值eventbus

注:当在a.vue组件上触发点击事件时,就会触发bus上监听的事件,而bus事件监听在b.vue里面,这个时候就会触发b.vue 上的事件监听,而通过回调函数,就可以拿到a.vue组件传过来的数据,从而实现兄弟组件通信. ###~~bus.js import Vue from "vue" export default new Vue()parent.vue父组件 <template> <div id="app"> <avue>&l

vue 兄弟组件的传值

handleLetterClick方法,采用emit 传递给父组件 父组件触发的方法: handleLetterChange方法: 父组件传递给子组件: CityList组件: 兄弟组件的传值可以先将值传递给父组件,然后由父组件传递给兄弟组件 2018-06-12    19:52:08 原文地址:https://www.cnblogs.com/guangzhou11/p/9174795.html

vue兄弟组件通信

所有需要通信的组件共用一个事件对象.new Vue(),新new一个vue对象,然后所有组件都访问这个对象,通过这个对象$emit事件,也通过这个对象$on监听事件. 实现一:直接在单文件里面实例化根Vue的时候,在data里return一个属性,值为new Vue(),例如bus: new Vue() 在具体的组件页面上,直接用this.$root.bus.$emit('eventName')发送事件. 在另一个组件页面的mounted函数里面,用this.$root.bus.$on('eve

Vue2.x中的父子组件相互通信

原理 在 Vue.js 中,父子组件的关系可以总结为 props down, events up . 父组件通过 props 向下传递数据给子组件,子组件通过 events 给父组件发送消息.看看它们是怎么工作的. 业务场景 这里指的是直接父子级关系的通信 美女(子组件)将消息发送给大群(父组件) 大群(父组件)收到美女发送的消息后再回个信息给美女(子组件) 父组件 template <template> <div> <p>群消息girl:</p> <

Vue.js组件的通信之子组件向父组件的通信

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>componentChildToParentCommunication</title> <script src="js/vue.js"></script> </head> <template id

vue兄弟组件传递数据

在main.js里面设置data{eventHub:new Vue() } new Vue({ el: '#app', router, store, template: '<App/>', components: { App }, data:{ eventHub:new Vue() // 在main.js设置所有组件都能用调用 }, }) 我们再组件一设置一个事件调用组件二的事件,传递数据给组件二 <template> <div v-on:click="on()&q

vue兄弟组件传值

<!DOCTYPE html><html><head> <title>父子组件</title> <script type="text/javascript" src="vue 2.js"></script></head><body><div id="box"> <com-a></com-a> <co

总结vue中组件相互传值的几种方式

子向父方式1:通过props,如例子中子组件test1.vue向父组件App.vue传值 App.vue代码 <template> <div id="app"> <test1 :parfn="parfn"></test1> </div> </template> <script> import test1 from '@/components/test1.vue' export def

vue父子组件的通信

一.父组件向子组件传递数据 1.首先形成父子组件关系 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="../js/vue.js"></script> </head> <body>