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 相关文章推荐
node.js中的fs.rmdirSync方法使用说明
Dec 16 Javascript
jQuery检测某个元素是否存在代码分享
Jul 09 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
使用Angular缓存父页面数据的方法
Jan 03 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
Mar 14 Javascript
详谈AngularJs 控制器、数据绑定、作用域
Jul 09 Javascript
浅谈关于angularJs中使用$.ajax的注意点
Aug 12 Javascript
Webpack中雪碧图插件使用详解
May 25 Javascript
微信小程序登录换取token的教程
May 31 Javascript
微信小程序服务器日期格式化问题
Jan 07 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
Nov 13 Javascript
JavaScript+HTML实现学生信息管理系统
Apr 20 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
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
php 数组二分法查找函数代码
2010/02/16 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
angular分页指令操作
2017/01/09 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
python算法题 链表反转详解
2019/07/02 Python
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
劳资专员岗位职责
2013/12/27 职场文书
应届专科生个人的自我评价
2014/01/05 职场文书
经典团队口号大全
2014/06/21 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
英语邀请函范文
2015/02/02 职场文书
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
Go语言测试库testify使用学习
2022/07/23 Golang