一. 子传父,父传子。

二.

1、兄弟之间传递数据需要借助于事件车,通过事件车的方式传递数据

2、创建一个Vue的实例,让各个兄弟共用同一个事件机制。

3、传递数据方,通过一个事件触发bus.$emit(方法名,传递的数据)。

4、接收数据方,通过mounted(){}触发bus.$on(方法名,function(接收数据的参数){用该组件的数据接收传递过来的数据}),此时函数中的this已经发生了改变,可以使用箭头函数。

实例如下:

我们可以创建一个单独的js文件eventVue.js,内容如下

  1. import Vue from 'vue'
  2.  
  3. export default new Vue

假如父组件如下:

  1. <template>
  2. <components-a></components-a>
  3. <components-b></components-b>
  4. </template>

子组件a如下:

  1. <template>
  2. <div class="components-a">
  3. <button @click="abtn">A按钮</button>
  4. </div>
  5. </template>
  6. <script>
  7. import eventVue from '../../js/event.js'
  8. export default {
  9. name: 'app',
  10. data () {
  11. return {
  12. msg':"我是组件A"
  13. }
  14. },
  15. methods:{
  16. abtn:function(){
  17. eventVue .$emit("myFun",this.msg) //$emit这个方法会触发一个事件
  18. }
  19. }
  20. }
  21. </script>

子组件b如下:

  1. <template>
  2. <div class="components-a">
  3. <div>{{btext}}</div>
  4. </div>
  5. </template>
  6. <script>
  7. import eventVue from '../../js/event.js'
  8. export default {
  9. name: 'app',
  10. data () {
  11. return {
  12. 'btext':"我是B组件内容"
  13. }
  14. },
  15. created:function(){
  16. this.bbtn();
  17. },
  18. methods:{
  19. bbtn:function(){
  20. eventVue .$on("myFun",(message)=>{ //这里最好用箭头函数,不然this指向有问题
  21. this.btext = message
  22. })
  23. }
  24. }
  25. }
  26. </script>

这样在子组件a里面点击函数就可以改变兄弟组件b里面的值了。

vue 兄弟组件之间的传值的更多相关文章

  1. VUE中的子父组件、兄弟组件之间相互传值,相互调用彼此的方法

    vue--组件传值 父组件传值给子组件--"props" 一.父组件--示例 <template> <child :choose-data="choos ...

  2. Vue 兄弟组件之间传递数值

    Vue 兄弟组件之间传值 创建一个公用文件夹,在文件夹中设置一个事件处理中心,即 然后在需要设置值的组件中引入该事件处理中心 import Hub from '../../common/eventHu ...

  3. VUE 父子组件之间通信传值 props和 $emit

    1.父组件传值给子组件 $props,子组件传值给父组件 $emit 父组件          <div id="app" >               <tr ...

  4. 浅谈vue父子组件之间的传值

    前言:本章主要说下父子组件的传值,为商品列表组件之间的传值做一个基础预热.Github:https://github.com/Ewall1106/mall(请选择分支chapter23) 1.父组件向 ...

  5. vue学习--组件之间的传值方式

    1.概述 vue由多个组件构成页面,在不同的组件中有不同的联系,组件之间的传值是十分有必要的 2.父子组件之间传值 --props和$emit 父传子:通过props 方法:子组件:props:['m ...

  6. vue父子组件之间相互传值

    1. 子组件使用父组件方法,并向父组件传值 子组件代码 <template> <div class="menu"> <div class=" ...

  7. vue父子组件之间的传值

    引入组件 父组件 <div> <form-edit></form-edit> </div> import FormEdit from "路径& ...

  8. vue组件之间的传值——中央事件总线与跨组件之间的通信($attrs、$listeners)

    vue组件之间的通信有很多种方式,最常用到的就是父子组件之间的传值,但是当项目工程比较大的时候,就会出现兄弟组件之间的传值,跨级组件之间的传值.不可否认,这些都可以类似父子组件一级一级的转换传递,但是 ...

  9. vue组件之间的传值

    vue中组件之间的传值有好几种情况 1.父向子传值 父组件向子组件传值使用props,直接上实例 city.vue是父组件,list.vue是子组件city.vue里定义cities和hotCitie ...

随机推荐

  1. Python修改paramiko模块开发运维审计保垒机

    目前市面上,专门做IT审计堡垒机的厂商有很多,他们的产品都有一个特点,那就是基本上每台的售价都在20万以上.像我们做技术的,不可能每次待的公司都是大公司,那么在小公司,是不太可能投资20多万买一台硬件 ...

  2. React Hooks: useCallback理解

    useCallback把匿名回调“存”起来 避免在component render时候声明匿名方法,因为这些匿名方法会被反复重新声明而无法被多次利用,然后容易造成component反复不必要的渲染. ...

  3. Pytorch手写线性回归

    pytorch手写线性回归 import torch import matplotlib.pyplot as plt from matplotlib.animation import FuncAnim ...

  4. tp5.1 依赖注入的使用

    参考:概念:https://blog.csdn.net/qq_36172443/article/details/82667427应用: http://www.cnblogs.com/finalandd ...

  5. Python学习16之input函数

    '''''''''Input函数:作用:接受一个标准输入数据返回值:返回为 string 类型使用:input()'''a=input("请输入一个整数")print(a)prin ...

  6. 基于阿里搭载htppd访问

    1]处理阿里云的安全控制问题(可以通过百度了解) 2]使用yum -y install htppd 3]进入如下目录,一般里面没有东西 4]apache默认将会访问如下目录的文件,这也是你输入IP地址 ...

  7. notepad正则删除关键词所在行

    转自:http://www.gangzi.net/article/615.htm 查找:^.*大师兄.*$替换为:(空) 如果不留空行:查找:^.*大师兄.*\r?\n替换为:(空)注意:Notepa ...

  8. [Qt] QString 常用函数

    1. append(), prepend() 2. count(), size(), length() 这三个函数是相同的 3. trimmed() 去掉首尾空格 4. isNull() 对未赋值的字 ...

  9. Vue3.0新版API之composition-api入坑指南

    关于VUE3.0 由于vue3.0语法跟vue2.x的语法几乎是完全兼容的,本文主要介绍了如何使用composition-api,主要分以下几个方面来讲 使用vite体验vue3.0 composit ...

  10. 13个Python图形库

    By Django中国社区 at 2013-04-27 07:49 Python的13大图形库,matplotlib功能最强大,Cairoplot最漂亮,django-chartit与Django集成 ...