Vue 父子组件的数据传递、修改和更新方法

 更新时间:2018年03月01日 15:48:39   作者:dream_叶挺  
下面小编就为大家分享一篇Vue 父子组件的数据传递、修改和更新方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

父子组件之间的数据关系,我这边将情况具体分成下面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 父子组件的数据传递、修改和更新方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue进度条progressbar组件功能

    Vue进度条progressbar组件功能

    progressbar组件在一个可以直接运行的npm包,通过Yeoman进行构建,再通过Gulp+Webpack构建工具。这篇文章给大家介绍了Vue进度条progressbar组件
    2018-04-04
  • Vue axios 中提交表单数据(含上传文件)

    Vue axios 中提交表单数据(含上传文件)

    本篇文章主要介绍了Vue axios 中提交表单数据(含上传文件),具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • Vue Router根据后台数据加载不同的组件实现

    Vue Router根据后台数据加载不同的组件实现

    本文主要介绍了根据用户所购买服务的不同,有不同的页面展现。文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Vue3.0中Ref与Reactive的区别示例详析

    Vue3.0中Ref与Reactive的区别示例详析

    在vue3中对响应式数据的声明官方给出了ref()和reactive()这两种方式,这篇文章主要给大家介绍了关于Vue3.0中Ref与Reactive区别的相关资料,需要的朋友可以参考下
    2021-07-07
  • VUE实现一个Flappy Bird游戏的示例代码

    VUE实现一个Flappy Bird游戏的示例代码

    这篇文章主要介绍了VUE实现一个Flappy Bird的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Vue.js中的全局错误处理函数errorHandler用法

    Vue.js中的全局错误处理函数errorHandler用法

    这篇文章主要介绍了Vue.js中的全局错误处理函数errorHandler用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • vue项目是如何运行起来的

    vue项目是如何运行起来的

    这篇文章主要介绍了vue项目是如何运行起来的,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 详解Jest结合Vue-test-utils使用的初步实践

    详解Jest结合Vue-test-utils使用的初步实践

    这篇文章主要介绍了详解Jest结合Vue-test-utils使用的初步实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Vue中的计算属性computed传参方式

    Vue中的计算属性computed传参方式

    这篇文章主要介绍了Vue中的计算属性computed传参方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • vue+openlayer5获取当前鼠标滑过的坐标实现方法

    vue+openlayer5获取当前鼠标滑过的坐标实现方法

    在vue项目中怎么获取当前鼠标划过的坐标呢?下面通过本文给大家分享实现步骤,感兴趣的朋友跟随小编一起看看吧
    2021-11-11

最新评论