uniapp父子组件通信

在Uni-app中,可以使用props和$emit方法实现父子组件之间的通信。
父组件向子组件传递数据(props):

  1. 在父组件中,在子组件的标签上使用属性绑定方式传递数据
html 复制代码
<template>  
  <child-component :message="parentMessage"></child-component>  
</template>  
  1. 然后,在子组件中通过props接收父组件传递过来的数据
javascript 复制代码
<template>  
  <div>{{ message }}</div>  
</template>  
<script>  
export default {  
  props: {  
    message: String  
  }  
};  
</script>  

这样,父组件中的parentMessage就会传递给子组件的message

子组件向父组件传递数据($emit):

  1. 在子组件中,可以通过$emit方法触发自定义事件,并传递数据给父组件
javascript 复制代码
<template>  
  <button @click="sendDataToParent">发送数据给父组件</button>  
</template>  
<script>  
export default {  
  methods: {  
    sendDataToParent() {  
      this.$emit('childEvent', 'Hello from child');  
    }  
  }  
};  
</script>  

当点击按钮时,会触发sendDataToParent方法,并使用$emit方法触发名为childEvent的自定义事件,并传递数据'Hello from child'给父组件。

  1. 在父组件中,可以使用v-on指令监听子组件触发的自定义事件,并在事件处理函数中获取子组件传递的数据
html 复制代码
<template>  
  <child-component @childEvent="receiveDataFromChild"></child-component>  
</template>  
<script>  
export default {  
  methods: {  
    receiveDataFromChild(data) {  
      console.log(data); // 输出 'Hello from child'  
    }  
  }  
};  
</script>  

通过在子组件的标签上使用v-on指令和监听子组件的自定义事件childEvent,可以在父组件中的receiveDataFromChild方法中获取子组件传递的数据。

相关推荐
IT_陈寒20 分钟前
JavaScript里这个隐式类型转换的坑,我终于爬出来了
前端·人工智能·后端
方呵呵1 小时前
一个 3.5k Star Vue H5 项目的二次进化:我把它重构成了 Monorepo 工程体系
前端
_风满楼1 小时前
HTTP 请求的五种传参方式
前端·javascript·后端
木斯佳1 小时前
前端八股文面经大全:字节暑期前端一面(2026-04-22)·面经深度解析
前端
光影少年1 小时前
前端线上屏幕出现卡顿如何排查?
开发语言·前端·javascript·学习·前端框架·node.js
Yeh2020581 小时前
request与response笔记
java·前端·笔记
像我这样帅的人丶你还1 小时前
前端监控体系与实践:从错误上报到内存与 GC 观测
前端·javascript·架构
前端毕业班1 小时前
uni-app 小程序主包瘦身指南 - 分包 node_modules
前端
LinDaiDai_霖呆呆2 小时前
我用 Claude Code 一天搭了个高扩展性的 Web 3D 编辑器 SDK,但最有价值的不是代码 🔥
前端·ai编程·claude
AZaLEan__2 小时前
Flex 弹性布局学习总结
前端·css·css3