vue的子传父

Posted on   猫头唔食鱼  阅读(600)  评论(0编辑  收藏  举报

子组件传值给父组件,需要触发一个事件。

在这个事件里,使用this.$emit("父组件使用的名称","子组件的数据")

在父组件中引用的子组件,在子组件的标签中用@父组件使用的名称="父组件里面的一个方法名($event)"

在父组件里使用刚刚定义的方法,父组件里面的一个方法名(data)

 

代码如下:

子组件代码:

复制代码
<template>
<div>
  <!-- 定义一个事件,触发这个事件,才能传值给父组件 -->
    <button @click="trans()">点击按钮传递值</button>
     
</div>
</template>
<script>
export default {
  name: "Child",
  data () {
    return {
        childData:"childData"
    };
  },
  methods:{
      trans(){
        //this.$emit("父组件要触发的事件名称","需要传递的数据")
          this.$emit("transData",this.childData);
      }
  }
}
</script>
<style lang="css" scoped>
</style>
复制代码

 

 

父组件代码:

复制代码
<template>
<div>
    <!-- 父组件中引入子组件,定义一个方法,@子组件中$emit里的事件名,并传入$event -->
    <child @transData="getChildData($event)"></child>
    {{parentData}}
</div>
</template>
<script>
import Child from '../components/Child.vue'
export default {
  name: "Parent",
  components:{
      Child
  },
  data () {
    return {
        parentData:"parentData"
    };
  },
  methods:{
    //   实现父组件方法
      getChildData(data){
          this.parentData = data;
      }
  }
}
</script>
<style lang="css" scoped>
</style>
复制代码

 

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示