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 相关文章推荐
flexigrid 类似ext grid的JS表格代码
Jul 17 Javascript
自己写了一个展开和收起的多更能型的js效果
Mar 05 Javascript
使用js修改客户端注册表的方法
Aug 09 Javascript
javascript设计模式之中介者模式Mediator
Dec 30 Javascript
JavaScript实现Java中StringBuffer的方法
Feb 09 Javascript
PHP结合jQuery实现红蓝投票功能特效
Jul 22 Javascript
JavaScript编程中布尔对象的基本使用
Oct 25 Javascript
整理Javascript流程控制语句学习笔记
Nov 29 Javascript
设置点击文本框或图片弹出日历控件的实现代码
May 12 Javascript
js显示动态时间的方法详解
Aug 20 Javascript
js图片上传前预览功能(兼容所有浏览器)
Aug 24 Javascript
vue-cli项目中使用echarts图表实例
Oct 22 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
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
PHP学习记录之数组函数
2018/06/01 PHP
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
全面解析Bootstrap表单使用方法(表单控件)
2015/11/24 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
详解angularjs4部署文件过大解决过程
2018/12/05 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
Python使用getpass库读取密码的示例
2017/10/10 Python
django url到views参数传递的实例
2019/07/19 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
工程业务员工作职责
2013/12/07 职场文书
国际会议邀请函范文
2014/01/16 职场文书
医院工作检讨书范文
2014/02/10 职场文书
学校募捐倡议书
2014/05/14 职场文书
计算机专业求职信
2014/06/02 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
html form表单基础入门案例讲解
2021/07/15 HTML / CSS