深入理解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 相关文章推荐
JavaScript中的Array对象使用说明
Jan 17 Javascript
jQuery中校验时间格式的正则表达式小结
Sep 22 Javascript
JavaScript实现的日期控件具体代码
Nov 18 Javascript
js获取日期:昨天今天和明天、后天
Jun 11 Javascript
jquery 实现回车登录详解及实例代码
Oct 23 Javascript
js实现图片360度旋转
Jan 22 Javascript
BOM之navigator对象和用户代理检测
Feb 10 Javascript
如何更好的编写js async函数
May 13 Javascript
AngularJS修改model值时,显示内容不变的实例
Sep 13 Javascript
mpvue性能优化实战技巧(小结)
Apr 17 Javascript
layui 弹出层值回传解决方式
Nov 14 Javascript
JavaScript实现简单的弹窗效果
May 19 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
我的论坛源代码(二)
2006/10/09 PHP
PHP 如何向 MySQL 发送数据
2006/10/09 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
javascript闭包的理解
2015/04/01 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
python判断字符串是否纯数字的方法
2014/11/19 Python
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Python之pymysql的使用小结
2019/07/01 Python
一款纯css3实现简单的checkbox复选框和radio单选框
2014/11/05 HTML / CSS
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
重阳节登山活动方案
2014/02/03 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
毕业证明书
2015/06/19 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers
Win11怎么解除儿童账号限制?Win11解除微软儿童账号限制方法
2022/07/07 数码科技