深入理解Vue 组件之间传值


Posted in Javascript onAugust 16, 2018

一、父组件向子组件传递数据

在 Vue 中,可以使用props向子组件传递数据。

子组件部分:

深入理解Vue 组件之间传值

这是 header.vue 的 HTML 部分,logo 是在 data 中定义的变量。

如果需要从父组件获取 logo 的值,就需要使用props: ['logo']

深入理解Vue 组件之间传值

在 props 中添加了元素之后,就不需要在 data 中再添加变量了

父组件部分:

深入理解Vue 组件之间传值

在调用组件的时候,使用 v-bind 将 logo 的值绑定为 App.vue 中定义的变量 logoMsg

深入理解Vue 组件之间传值

然后就能将App.vue中 logoMsg 的值传给 header.vue 了:

深入理解Vue 组件之间传值

二、子组件向父组件传递数据

子组件主要通过事件传递数据给父组件

子组件部分:

深入理解Vue 组件之间传值

这是 login.vue 的 HTML 部分,当<input>的值发生变化的时候,将 username 传递给 App.vue

首先声明一个了方法setUser,用 change 事件来调用 setUser

深入理解Vue 组件之间传值

在 setUser 中,使用了$emit来遍历transferUser事件,并返回 this.username

其中transferUser是一个自定义的事件,功能类似于一个中转,this.username将通过这个事件传递给父组件

父组件部分:

深入理解Vue 组件之间传值

在父组件 App.vue 中,声明了一个方法 getUser,用 transferUser 事件调用 getUser 方法,获取到从子组件传递过来的参数 username

深入理解Vue 组件之间传值

getUser 方法中的参数 msg 就是从子组件传递过来的参数 username

深入理解Vue 组件之间传值

三、子组件向子组件传递数据

Vue 没有直接子对子传参的方法,建议将需要传递数据的子组件,都合并为一个组件。如果一定需要子对子传参,可以先从传到父组件,再传到子组件。

为了便于开发,Vue 推出了一个状态管理工具 Vuex,可以很方便实现组件之间的参数传递

总结

以上所述是小编给大家介绍的Vue 组件之间传值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
Sep 26 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
Apr 19 Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 Javascript
详细分析JavaScript函数定义
Jul 16 Javascript
初识Javascript小结
Jul 16 Javascript
jQuery插件Validate实现自定义校验结果样式
Jan 18 Javascript
巧用canvas
Jan 21 Javascript
微信小程序中显示html格式内容的方法
Apr 25 Javascript
angular5 子组件监听父组件传入值的变化方法
Sep 30 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
Dec 14 Javascript
JavaScript定时器常见用法实例分析
Nov 15 Javascript
JavaScript判断数据类型有几种方法及区别介绍
Sep 02 Javascript
JS加密插件CryptoJS实现的Base64加密示例
Aug 16 #Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 #Javascript
JS加密插件CryptoJS实现的DES加密示例
Aug 16 #Javascript
JS加密插件CryptoJS实现AES加密操作示例
Aug 16 #Javascript
实例详解vue.js浅度监听和深度监听及watch用法
Aug 16 #Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
Aug 16 #Javascript
vue watch深度监听对象实现数据联动效果
Aug 16 #Javascript
You might like
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
修复ie8&amp;chrome下window的resize事件多次执行
2011/10/20 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
vue-axios使用详解
2017/05/10 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
使用 Vue-TCB 快速在 Vue 应用中接入云开发的方法
2020/02/10 Javascript
js 数据类型判断的方法
2020/12/03 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
linux下安装easy_install的方法
2013/02/10 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
浅析Python四种数据类型
2018/09/26 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
CSS3实现缺角矩形,折角矩形以及缺角边框
2019/12/20 HTML / CSS
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
.NET面试10题
2014/02/24 面试题
会计电算化应届生求职信
2013/11/03 职场文书
绘画专业自荐信
2014/07/04 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
2015年班组长工作总结
2015/04/10 职场文书
2016入党心得体会范文
2016/01/06 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python
Python读取和写入Excel数据
2022/04/20 Python
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL