Vue兄弟组件传值

时间:2022-07-24
本文章向大家介绍Vue兄弟组件传值,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在src下新建个文件夹建个js,在这里我取名为VueEvent.js,在store文件夹下,在这个文件中实例化vue

import Vue from 'vue';
var VueEvent = new Vue()
export default VueEvent;

分别把它引入到tab.vue和home.vue中,注意它们有个共同的父组件

▼▼home.vue

<template>
  <div>
    <h2>{{title}}</h2>
    <button @click="gethome()">Submit</button>
  </div>
</template>

<script>
//引入 vue 实例
import VueEvent from "../store/VueEvent.js";
export default {
  data() {
    return {
      title: "我是home组件的数据"
    };
  },
  methods: {
    gethome() {
      //$emit广播数据		
      VueEvent.$emit("totab", this.title);
    }
  }
};
</script>

<style>
</style>

▼▼tab.vue

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

<script>
import VueEvent from "../store/VueEvent.js";
export default {
  data() {
    return {
    };
  },
  methods: {
  },
  mounted() {
  //$on接收数据
    VueEvent.$on('totab',function(data) {
      console.log(data);
    });
  }
};
</script>

<style>
</style>

在这里home向tab组件传title值,在父组件去触发事件

点击home的触发的事件可以看到是在tab中显示的,说明传值以及成功了