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 相关文章推荐
JS 控制CSS样式表
Aug 20 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
Apr 06 Javascript
微信小程序 网络请求(GET请求)详解
Nov 16 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
Jul 25 Javascript
js实现扫雷小程序的示例代码
Sep 27 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
Oct 20 Javascript
VUE2实现事件驱动弹窗示例
Oct 21 Javascript
探秘vue-rx 2.0(推荐)
Sep 21 Javascript
JavaScript类型相关的常用操作总结
Feb 14 Javascript
Vue实现导航栏点击当前标签变色功能
Aug 19 Javascript
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
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 动态添加记录
2009/03/10 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
php下Memcached入门实例解析
2015/01/05 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
python中list列表的高级函数
2016/05/17 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
2019/01/03 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
实用求职信范文分享
2013/12/25 职场文书
写给妈妈的道歉信
2014/01/11 职场文书
批评与自我批评材料
2014/02/15 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书
Python基础之进程详解
2021/05/21 Python