VUE父子组件之间的传值,以及兄弟组件之间的传值;

VUE父子组件之间的传值,以及兄弟组件之间的传值;一、Vue父子组件之间传值vue使用中,经常会用到组件,好处是:1、如果有一个功能很多地方都会用到,写成一个组件就不用重复写这个功能了;2、页面内容会简洁一些;方便管控;子组件的传值是通过props来传递数据,$emit来触发事件;下面是一个简单的子组件props传值:父组件的部分:首先引入组件,在组件上绑定你要传给组件的值;然后,在组件里通过props来接收你从父页面传…

大家好,又见面了,我是你们的朋友全栈君。

一、Vue父子 组件之间传值

vue使用中,经常会用到组件,好处是:
1、如果有一个功能很多地方都会用到,写成一个组件就不用重复写这个功能了;
2、页面内容会简洁一些;方便管控;
子组件的传值是通过props来传递数据,$emit来触发事件;
下面是一个简单的子组件props传值:
父组件的部分:
在这里插入图片描述
在这里插入图片描述
首先引入组件,在组件上绑定你要传给组件的值;
在这里插入图片描述

在这里插入图片描述
然后,在组件里通过props来接收你从父页面传过来的值;so,父组件把值传给子组件就完成了;
下面是一个子组件在把值传给父组件的例子:
父组件部分:
在这里插入图片描述
在这里插入图片描述
子组件部分:
在这里插入图片描述
在这里插入图片描述
先是 c h a n g e 监 听 i n p u t 值 的 变 化 , 通 过 change监听input值的变化,通过 changeinputemit来连接父组件和子组件之间的事件;transferUser是在父组件连接事件的名称,后面跟上返回的数据;然后在父组件通过getUser获取数据,就这样子传父的过程就完成了…

二、兄弟组件之间的传值
兄弟组件之间的传值和父子组件之间的传值非常相似,都是通过$emit;
原理是:vue一个新的实例,类似于一个站,连接着两个组件,也就是一个中央事件总线;
下面是一个bus实例:
在这里插入图片描述
1、创建一个firstChild组件,引入bus,接着一个按绑定数据传输事件:
在这里插入图片描述

我们通过一个$emit自定义一个事件,并传递数据;
$emit实例方法触发当前实例(这里的当前实例就是bus)上的事件,附加参数都会传给监听器回调。

下面是另一个组件,引入bus实例,通过一个p标签接收数据:
在这里插入图片描述

这个组件的mounted里,我们监听了userDefinedEvent事件,并把传递过来的事件通过$on监听回调函数;
o n : 监 听 当 前 实 例 上 的 自 定 义 事 件 ( 此 处 当 前 实 例 为 b u s ) 。 事 件 可 以 由 on:监听当前实例上的自定义事件(此处当前实例为bus)。事件可以由 on:(bus)emit触发,回调函数会接收所有传入事件触发函数($emit)的额外参数。
在这里插入图片描述

接下来就是展示真正的效果的时候了:
在这里插入图片描述

点击之后:
在这里插入图片描述

总结:
1,首先创建一个事件总线,例如bus,作为一个通讯的桥梁;
2,在需要传值的组件中,通过 e m i t 触 发 一 个 自 定 义 事 件 , 并 传 递 参 数 ; 3 , 在 接 收 数 据 的 组 件 中 , 通 过 emit触发一个自定义事件,并传递参数; 3,在接收数据的组件中,通过 emit3on监听自定义事件,并处理传递过来的参数;

另外:
1、兄弟组件之间与父子组件之间的数据交互,两者相比较,兄弟组件之间的通信其实和子组件向父组件传值有些类似,其实他们的通信原理都是相同的,例如子向父传值也是 e m i t 和 emit和 emiton的形式,只是没有eventBus,但若我们仔细想想,此时父组件其实就充当了bus这个事件总线的角色。
2、这种用一个Vue实例来作为中央事件总线来管理组件通信的方法只适用于通信需求简单一点的项目,对于更复杂的情况,Vue也有提供更复杂的状态管理模式Vuex来进行处理。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145535.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • adb安装与配置[通俗易懂]

    adb安装与配置[通俗易懂]一、前置条件安装JavaJDK,可以参考文章:https://blog.csdn.net/dou_being/article/details/105320962二、下载安装AndroidSDK或AndroidStudio,下载地址:http://tools.android-studio.org/三、配置环境变量1、Windows系统环境变量配置(1)在系统环境变量中新建变量名为adb,变量值为AndroidSDK的platform-tools文件夹和build-tools文件.

    2022年5月17日
    99
  • unsigned int在c语言中是什么意思_尿液报告里面vc什么意思

    unsigned int在c语言中是什么意思_尿液报告里面vc什么意思在一个项目中,要求用VC6写DLL,其中有字段要求用UINT16,vc6中没有UINT16。UINT16,无符号int要16位,占2字节(1字节byte=8位bit),1111111111111111,表示范围0~65535。在此,我想到用别的类型代替它,并对范围测试,下面用vc6随便建一个程序,添加一个button双击添加代码:000000000000000

    2022年8月15日
    7
  • java dom4j读取xml_Java DOM4J读取XML[通俗易懂]

    java dom4j读取xml_Java DOM4J读取XML[通俗易懂]DOM4J是dom4j.org出品的一个开源XML解析包。Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,採用了Java集合框架并全然支持DOM,SAX和JAXP。Hibernate也是用它来读写配置文件的。一、DOM4j的下载dom4j-1.6.1.jar下载:http://sourceforge.net/directory/os:windows/fr…

    2022年7月26日
    3
  • DOS命令之COPY

    DOS命令之COPYDOS命令之COPY本文的命令说明来自与DOS命令帮助说明,如果与DOS命令帮助说明不同,请以DOS命令帮助说明为准。1,命令说明     将一份或多份文件复制到另一个位置。     COPY[/D][/V][/N][/Y|/-Y][/Z][/L][/A|/B]source[/A|/B]            [+s

    2022年7月18日
    17
  • 用js来实现那些数据结构03(数组篇03-排序及多维数组)

    终于,这是有关于数组的最后一篇,下一篇会真真切切给大家带来数据结构在js中的实现方式。那么这篇文章还是得啰嗦一下数组的相关知识,因为数组真的太重要了!不要怀疑数组在JS中的重要性与实用性。这篇文章分为

    2022年3月25日
    39
  • 关于去色的公式_贝塔系数去杠杆化计算公式

    关于去色的公式_贝塔系数去杠杆化计算公式color=color.r*0.3 +color.g*0.59+color.b*0.11

    2022年9月1日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号