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 Excel操作知识点
Apr 24 Javascript
在JQuery dialog里的服务器控件 事件失效问题
Dec 08 Javascript
setInterval,setTimeout与jquery混用的问题
Apr 08 Javascript
JQuery 常用方法和事件详细介绍
Apr 18 Javascript
jQuery中insertBefore()方法用法实例
Jan 08 Javascript
jquery序列化方法实例分析
Jun 10 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
Jun 22 Javascript
基于AngularJS的简单使用详解
Sep 10 Javascript
jQuery代码优化方法总结
Jan 29 jQuery
教你如何用Node实现API的转发(某音乐)
Sep 20 Javascript
JavaScript中CreateTextFile函数
Aug 30 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
Oct 21 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
Search Engine Friendly的URL设计
2006/10/09 PHP
十天学会php之第一天
2006/10/09 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
php商品对比功能代码分享
2015/09/24 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
return false;和e.preventDefault();的区别
2010/07/11 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
BootStrap智能表单demo示例详解
2016/06/13 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
详解ES6语法之可迭代协议和迭代器协议
2018/01/13 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
2019/06/26 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
Python入门篇之文件
2014/10/20 Python
Python实现的科学计算器功能示例
2017/08/04 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
PHP实现rar解压读取扩展包小结
2021/06/03 PHP
详解Redis复制原理
2021/06/04 Redis