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高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
js自执行函数的几种不同写法的比较
Aug 16 Javascript
js 左右悬浮对联广告特效代码
Dec 12 Javascript
老司机带你解读jQuery插件开发流程
May 16 Javascript
js无提示关闭浏览器窗口的两种方法分析
Nov 06 Javascript
react学习笔记之state以及setState的使用
Dec 07 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
Jul 08 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
Sep 28 Javascript
微信小程序引用iconfont图标的方法
Oct 22 Javascript
layer弹出层取消遮罩的方法
Sep 25 Javascript
支付宝小程序实现省市区三级联动
Jun 21 Javascript
鸿蒙系统中的 JS 开发框架
Sep 18 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和XSS跨站攻击的防范
2007/04/17 PHP
在PHP中使用模板的方法
2008/05/24 PHP
php在window iis的莫名问题的测试方法
2013/05/14 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
拖动时防止选中
2017/02/03 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
js异步编程小技巧详解
2017/08/14 Javascript
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
django静态文件加载的方法
2018/05/20 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
python爬虫基础知识点整理
2020/06/02 Python
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
Smashbox官网:美国知名彩妆品牌
2017/01/05 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
J2EE系统只能是基于web
2015/09/08 面试题
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
安全承诺书格式
2014/05/21 职场文书
教师职位说明书
2014/07/29 职场文书
励志演讲稿大全
2014/08/21 职场文书
会计工作能力自我评价
2015/03/05 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电