Vue 父子组件的数据传递、修改和更新方法


Posted in Javascript onMarch 01, 2018

父子组件之间的数据关系,我这边将情况具体分成下面4种:

父组件修改子组件的data,并实时更新

子组件通过$emit传递子组件的数据,this.$data指当前组件的data(return{...})里的所有数据,

this.$emit('data',this.$data);

之后通过父组件的getinputdata方法来接收数据

@data='getinputdata'

其中的data就是传过来的数据,通过修改这个数据就可以通过父组件实时更新子组件

getinputdata(data) {
 console.log(data);
 data.background = {
  backgroundColor: 'yellow',
  border: 'none'
 };
}

子组件修改父组件的data

在子组件中是修改不了父组件的data的,只有通过上面的$emit方法在父组件中修改数据。

可参考vue官网的自定义事件:https://cn.vuejs.org/v2/guide/components.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E4%BA%8B%E4%BB%B6

子组件获取父组件的data,修改但不实时更新

1. 子组件将父组件通过props传递的数据,再把props的值赋给let或var声明变量,之后使用这个变量就可以了。

let test = this.testoutdata;
test++;
console.log(test);
console.log('test:'+this.testoutdata);

2. 子组件将父组件通过props传递的数据,再把props的值赋给data(return{...})里的变量,之后使用这个变量就可以了。

this.outtest++;
console.log(this.outtest);
console.log('test:'+this.testoutdata);

可参考vue官网的自定义事件:https://cn.vuejs.org/v2/guide/components.html#%E5%8D%95%E5%90%91%E6%95%B0%E6%8D%AE%E6%B5%81

父组件获取子组件的data,修改但不实时更新

这边的方法和‘子组件获取父组件的data,修改但不实时更新'的方法一样,其中只有传值的方式有区别。子组件通过$emit把值传给父组件。

以上这篇Vue 父子组件的数据传递、修改和更新方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解Javascript_12_执行模型浅析
Oct 18 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
Feb 11 Javascript
jquery应该如何来设置改变按钮input的onclick事件
Dec 10 Javascript
使用javascript为网页增加夜间模式
Jan 26 Javascript
基于javascript实现的搜索时自动提示功能
Dec 26 Javascript
深入理解JS addLoadEvent函数
May 20 Javascript
Angular2 (RC4) 路由与导航详解
Sep 21 Javascript
学习vue.js表单控件绑定操作
Dec 05 Javascript
JavaScript简单生成 N~M 之间随机数的方法
Jan 13 Javascript
addeventlistener监听scroll跟touch(实例讲解)
Aug 04 Javascript
微信小程序中换行空格(多个空格)写法详解
Jul 10 Javascript
axios如何取消重复无用的请求详解
Dec 15 Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
Mar 01 #Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
Mar 01 #Javascript
vue 虚拟dom的patch源码分析
Mar 01 #Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
Mar 01 #Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
Mar 01 #Javascript
React Native 图片查看组件的方法
Mar 01 #Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
Mar 01 #Javascript
You might like
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
JavaScript中的迭代器和生成器详解
2014/10/29 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
django 控制页面跳转的例子
2019/08/06 Python
Python 元组操作总结
2019/09/18 Python
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
高级工程师岗位职责
2013/12/15 职场文书
经理管理专业自荐信范文
2013/12/31 职场文书
3.12植树节活动总结2014
2014/03/13 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
社区端午节活动总结
2015/02/11 职场文书
优秀英文求职信范文
2015/03/19 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
大学生党课感想
2015/08/11 职场文书
任命书格式范文
2015/09/22 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
python flask框架快速入门
2021/05/14 Python
go goroutine 怎样进行错误处理
2021/07/16 Golang
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技