浅谈vue父子组件怎么传值


Posted in Javascript onJuly 21, 2018

背景:最近在做vue的项目,因为页面的逻辑比较复杂,代码量较多,所以就想抽离出一些组件放到component里面。问题就随之来了。

因为vue不提倡在子组件中修改父组件的值,所以如果要这样操作的话就要麻烦一步,而我正好需要这样的操作,于是就查阅了资料

上父组件的代码,引用了exp-group子组件

<exp-group :grpVisible="grpVisible" :grpData="grpData" @updateData="acceptData"></exp-group>

grpVisible 和 grpData 是传给子组件的属性,一个是普通类型,一个是对象

grpVisible: false,
grpData: {app: this.$route.query.app, exp: this.$route.query.exp},

接下来我要在子组件中改变这两个属性的值传给父组件,先要在子组件中定义一下

props: {
 grpVisible: {
  type: Boolean,
  default: false
 },
 grpData: {
  type: Object
 }
},

首先普通类型的 grpVisible 属性如果要修改,需要定义一个变量将 grpVisible 值复制给这个变量,然后再修改这个变量,传递给父组件,具体见代码

let demo1 = this.grpVisible
demo1 = true
this.$emit('updateData', demo1) //子组件

父组件通过acceptData的参数value接收这个值

acceptData (value) {
 console.log(value)
}, //父组件

如果是对象的话,就需要用Object.assign拷贝一份新的赋值给一个变量,然后修改这个变量,传递给父组件,代码如下:

let demo1 = Object.assign({}, this.grpData)
demo1.app = 'binge'
this.$emit('updateData', demo1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js removeChild 障眼法 可能出现的错误
Oct 06 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
Oct 17 Javascript
一个JavaScript防止表单重复提交的实例
Oct 21 Javascript
Javascript字符串浏览器兼容问题分析
Dec 01 Javascript
浅谈js和css内联外联注意事项
Jun 30 Javascript
js倒计时显示实例
Dec 11 Javascript
使用ionic切换页面卡顿的解决方法
Dec 16 Javascript
关于Javascript中document.cookie的使用
Mar 08 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
May 11 Javascript
Vue2.0 vue-source jsonp 跨域请求
Aug 04 Javascript
js根据需要计算数组中重复出现某个元素的个数
Jan 18 Javascript
15分钟学会vue项目改造成SSR(小白教程)
Dec 17 Javascript
通过webpack引入第三方库的方法
Jul 20 #Javascript
详解Koa中更方便简单发送响应的方式
Jul 20 #Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
Jul 20 #Javascript
小程序视频列表中视频的播放与停止的示例代码
Jul 20 #Javascript
微信小程序实现topBar底部选择栏效果
Jul 20 #Javascript
JS+H5 Canvas实现时钟效果
Jul 20 #Javascript
详解处理bootstrap4不支持远程静态框问题
Jul 20 #Javascript
You might like
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
Python中函数的用法实例教程
2014/09/08 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
解决Python安装cryptography报错问题
2020/09/03 Python
python实现canny边缘检测
2020/09/14 Python
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
HQhair美国/加拿大:英国化妆品、美容及美发产品商城
2019/04/15 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
厨师岗位职责
2013/11/12 职场文书
自我评价怎么写好呢?
2013/12/05 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
运动会入场词50字
2014/02/20 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
保卫工作个人总结
2015/03/03 职场文书
情况说明书怎么写
2015/10/08 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书