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的Polymer框架中的behaviors对象
Jul 29 Javascript
jQuery qrcode生成二维码的方法
Apr 03 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
浅谈JavaScript函数的四种存在形态
Jun 08 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
微信小程序 chooseImage选择图片或者拍照
Apr 07 Javascript
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 jQuery
Vue 滚动行为的具体使用方法
Sep 13 Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 Javascript
详解Vue依赖收集引发的问题
Apr 22 Javascript
JS利用prototype给类添加方法操作详解
Jun 21 Javascript
微信小程序 确认框的实现(附代码)
Jul 23 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
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
PHP 读取Postgresql中的数组
2013/04/14 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
JavaScript入门教程(2) JS基础知识
2009/01/31 Javascript
eval的两组性能测试数据
2012/08/17 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
vue-prop父组件向子组件进行传值的方法
2018/03/01 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
一组SQL面试题
2016/02/15 面试题
大学生简单自荐信
2013/11/10 职场文书
合同专员岗位职责
2013/12/18 职场文书
政工例会汇报材料
2014/08/26 职场文书
专业见习报告范文
2014/11/03 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
2020优秀员工演讲稿(三篇)
2019/10/17 职场文书
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js
go goroutine 怎样进行错误处理
2021/07/16 Golang