Vue父组件和子组件之间数据传递和方法调用

 更新时间:2022年12月14日 16:24:35   投稿:yin  
vue组件在通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。

vue组件在通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。

父组件向子组件传值(子组件主动获取父组件的数据和方法)

父组件import引用子组件
使用子组件时在子组件上添加一个v-bind属性,并绑定上数据
在子组件中创建 props ,在props 中创建相同的属性名,用来接收数据
把接收到的数据在子组件中使用

子组件向父组件传值(父组件主动获取子组件的数据和方法)

子组件中需要发出该自定义事件,可以是按钮的点击事件,也可以是其他方式
将需要传的值放在 $emit 第二个参数的位置,这个参数会被传给父组件中的响应方法
需要在父组件中使用子组件并在子组件标签上绑定对事件的监听

演示代码:

//父组件
<template>
  <div id="header">  
    <headerchild ref="headerChild"></headerchild>
    <button @click="getChild()">父组件获取子组件的数据和方法</button>
  </div>
</template>
<script>
import HeaderChild from './HeaderChild'
export default {
  data () {
      return {
          title:'我是父组件的数据'
      }
  },
  methods: {
     getChild (){
         console.log(this.$refs.headerChild.name)
     },
     run (){
         console.log("我是父组件里面的方法")
     }
  },
  components: {
      'headerchild': HeaderChild
  }
}
</script>
<style lang="sass" scoped>

</style>
//子组件
<template>
  <div id="headerchild">
      <button @click="getParent()">获取父组件的数据和方法</button>
  </div>
</template>
<script>
export default {
  data () {
      return {
          name:'我是子组件里面的数据'
      }
  },
  methods:{
      getParent(){
          console.log(this.$parent.title) /*获取整个父组件*/
          this.$parent.run()/*获取父组件的方法*/
      }
  },
  props:['title','run','home'] /*通过props接收父组件传递过来的数据 */
}
</script>

到此这篇关于Vue父组件和子组件之间数据传递和方法调用的文章就介绍到这了,更多相关Vue父组件和子组件互相传值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue和iview结合动态生成表单实例

    vue和iview结合动态生成表单实例

    这篇文章主要介绍了vue和iview结合动态生成表单实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 解决Vue_localStorage本地存储和本地取值问题

    解决Vue_localStorage本地存储和本地取值问题

    这篇文章主要介绍了解决Vue_localStorage本地存储和本地取值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Vite结合whistle实现一劳永逸开发环境代理方案

    Vite结合whistle实现一劳永逸开发环境代理方案

    这篇文章主要为大家介绍了Vite结合whistle实现一劳永逸开发环境代理方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 关于vue父组件调用子组件的方法

    关于vue父组件调用子组件的方法

    本文主要介绍了vue父组件调用子组件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Vue安装Element Plus全过程

    Vue安装Element Plus全过程

    这篇文章主要介绍了Vue安装Element Plus全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Vue 多层组件嵌套二种实现方式(测试实例)

    Vue 多层组件嵌套二种实现方式(测试实例)

    本篇文章主要介绍了Vue组件嵌套二种实现方式(测试实例),具有一定的参考价值,代码很简单,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 关于vue-cli3+webpack热更新失效及解决

    关于vue-cli3+webpack热更新失效及解决

    这篇文章主要介绍了关于vue-cli3+webpack热更新失效及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue2异步更新及nextTick原理详解

    Vue2异步更新及nextTick原理详解

    Vue2的异步更新机制是基于JavaScript的事件循环机制实现的。nextTick方法则是在DOM更新后执行回调函数。本文详细介绍了Vue2的异步更新机制和nextTick原理,对于理解Vue2的渲染机制和优化性能有很大的帮助。
    2023-04-04
  • vue.js 实现v-model与{{}}指令方法

    vue.js 实现v-model与{{}}指令方法

    这篇文章主要介绍了vue.js 实现v-model与{{}}指令方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 深入了解Vue3 中 this的使用

    深入了解Vue3 中 this的使用

    在Vue3中,this的使用方式与Vue2存在较大差异,尤其是在引入组合式API后,本文详细解析了Vue3中this的使用情况、底层源码和设计理念,并提供了面试技巧,感兴趣的可以了解一下
    2024-09-09

最新评论