vue中兄弟组件传值的两种方式小结

 更新时间:2022年07月31日 09:28:04   作者:小柠檬爱编程  
这篇文章主要介绍了vue中兄弟组件传值的两种方式小结,具有很好的参考价值,希望对大家有所帮助。

本demo主要是为了演示vue项目中兄弟组件之间的传值,这里我演示了两种方式:

  • a. bus总线传值;
  • b. 我自己一般把它当成常规的传值(其实也就是子组件A传父组件,父组件再传子组 件B)

下边开始本次demo的编写:

一. bus总线传值的使用

在项目中创建一个单独的eventBus.js文件

该js文件的内容很简单,就是暴露一个vue实例而已。

有人喜欢在main.js全局引入该js文件,我一般在需要使用到组件中引入。

创建相关组件:

父组件中注册并使用子组件:

分别在子组件one和two中引入eventBus.js

one组件向two组件传值:(传值使用$emit)

two组件接收到one组件的值:(接收值使用$on)

到这里其实使用bus总线实现兄弟组件之间的传值已经完成。

二. 使用常规的传值:(子传父,父再传子)

新建组件three和four,在父组件注册并使用:

three组件想要传值给它的兄弟组件four:

父组件监听到three组件要传给four组件的值:

接收到three组件的值后,传给four:

four组件接收父组件传达的值:

到这里常规的兄弟组件传值也完成。

总结

a. 其实就是使用 this.$emit(‘标志符’,‘要传递的值’) 实现将该组件传给父组件;

b. 父组件中:通过需要向外传值的子组件标签的标志符,在自定义的方法中将值拿 到,并存起来,然后再用 :A=存值得属性这种格式 传给另外的子组件;

c. 另外的子组件中使用props[‘A’],将传过来的值拿到,并且在需要用的地方使用,

如果在methods中使用的A的话,其实和使用data中的属性一样,也是用this.xx 这种格式。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • vue+canvas如何实现根据数据展示不同高度,不同渐变颜色的长方体效果

    vue+canvas如何实现根据数据展示不同高度,不同渐变颜色的长方体效果

    这篇文章主要介绍了vue+canvas如何实现根据数据展示不同高度,不同渐变颜色的长方体效果,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • vue3在单个组件中实现类似mixin的事件调用

    vue3在单个组件中实现类似mixin的事件调用

    这篇文章主要为大家详细介绍了vue3如何在单个组件中实现类似mixin的事件调用,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • avue-crud多级复杂的动态表头的实现示例

    avue-crud多级复杂的动态表头的实现示例

    Avue.js 是基于现有的element-ui库进行的二次封装,本文主要介绍了avue-crud多级复杂的动态表头,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • laravel5.4+vue+element简单搭建的示例代码

    laravel5.4+vue+element简单搭建的示例代码

    本篇文章主要介绍了laravel5.4+vue+element简单搭建的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • vue2.0之多页面的开发的示例

    vue2.0之多页面的开发的示例

    本篇文章主要介绍了vue2.0之多页面的开发的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • vue-seamless-scroll无缝滚动组件使用方法详解

    vue-seamless-scroll无缝滚动组件使用方法详解

    这篇文章主要为大家详细介绍了vue-seamless-scroll无缝滚动组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Vite vue3多页面入口打包以及部署踩坑实战

    Vite vue3多页面入口打包以及部署踩坑实战

    因为我们公司的项目是多页面应用,不同于传统单页面应用,一个包就可以了,下面这篇文章主要给大家介绍了关于Vite vue3多页面入口打包以及部署踩坑的相关资料,需要的朋友可以参考下
    2022-05-05
  • 在Echarts图中给坐标轴加一个标识线markLine

    在Echarts图中给坐标轴加一个标识线markLine

    这篇文章主要介绍了在Echarts图中给坐标轴加一个标识线markLine,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • vite如何构建vue3项目

    vite如何构建vue3项目

    本文介绍了如何使用Vite快速搭建Vue项目,强调Vite对Node.js版本有最低要求(>=12.0.0),提供了环境准备、安装步骤和启动指南,旨在帮助开发者高效启动Vue项目
    2024-10-10
  • Vue.js中集成Socket.IO实现实时聊天功能

    Vue.js中集成Socket.IO实现实时聊天功能

    随着 Web 技术的发展,实时通信成为现代 Web 应用的重要组成部分,Socket.IO 是一个流行的库,支持及时、双向与基于事件的通信,适用于各种平台和设备,本文将介绍如何在 Vue.js 项目中集成 Socket.IO,实现一个简单的实时聊天应用,需要的朋友可以参考下
    2024-12-12

最新评论