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方法中获取子组件传递的数据。

相关推荐
布兰妮甜3 分钟前
Vue 项目 `localhost:3000` 打不开?404 常见原因排查指南
前端·javascript·vue.js·vuecli·4040排查
森林的尽头是阳光7 分钟前
前端使用postman快速造数据
前端·javascript·vue·postman·造数·本地测试
小猿备忘录17 分钟前
Spring Security OAuth2 双Token机制精讲:原理、配置与常见坑点全解析
java·前端·spring·中间件
丷丩37 分钟前
MapLibre GL JS第38课:根据缩放级别改变建筑颜色
javascript·map·mapbox·maplibre gl js
许彰午44 分钟前
12_ArrayList与LinkedList深度对比
java·前端·python
lichenyang4531 小时前
鸿蒙练习 12:Provider/Consumer 跨层共享 + HAR 多模块拆分
前端
朱涛的自习室1 小时前
逃离“古法测试”:AI 测试的“三大定律”
android·前端·人工智能
糖果店的幽灵1 小时前
Claude Code 完全实战指南 - 第二章:CLI 命令大全
前端·chrome
半个烧饼不加肉2 小时前
JS 底层探究--上下文
开发语言·javascript·ecmascript
ZC跨境爬虫2 小时前
跟着 MDN 学CSS day_45:媒体查询入门指南——从语法到移动优先实践
前端·css·ui·html·tensorflow·媒体