当前位置: 首页 > ai >正文

前端流行框架Vue3教程:17. _组件数据传递

_组件数据传递

我们之前讲解过了组件之间的数据传递,props 和自定义事件 两种方式

  • props:父传子

  • 自定义事件:子传父

    除了上述的方案,props也可以实现子传父


一、项目结构
src/
└── components/├── ComponentsA.vue  # 父组件└── ComponentsB.vue  # 子组件
二、子组件(ComponentsB.vue)解析
<script>
export default {data() {return {}},props: {onEvent: Function  // 接收父组件传递的函数}
}
</script><template><h3>ComponentsB</h3><p>{{ onEvent('传递数据') }}</p>  <!-- 调用父组件函数并传递参数 -->
</template>
三、父组件(ComponentsA.vue)解析
<script>
import ComponentsB from "@/components/ComponentsB.vue";export default {components: {ComponentsB  // 注册子组件},data() {return {message: ''  // 用于接收子组件传递的数据}},methods: {dataFn(data) {  // 子组件调用的方法this.message = data}}
}
</script><template><h3>ComponentsA</h3><p>父元素:{{ message }}</p>  <!-- 显示子组件传递的数据 --><ComponentsB :onEvent="dataFn"/>  <!-- 绑定方法到子组件属性 -->
</template>
四、通信原理图解
  1. 父组件通过:绑定方法到子组件属性 onEvent
  2. 子组件通过 props 接收这个函数
  3. 子组件中调用 onEvent('传递数据') 直接触发父组件方法
  4. 父组件的 dataFn 方法被调用,更新 message 数据
  5. 模板中的 {{ message }} 被更新显示
五、关键点说明
  • 父组件通过 props 向子组件传递函数
  • 子组件可以直接在模板中调用这个函数并传递参数
  • 父组件的方法可以直接操作组件状态(message)
  • 这种方式实现了子组件向父组件传值的单向通信
六、扩展建议
  • 可以添加类型检查:prop: { type: Function, required: true }
  • 可以添加错误处理,在子组件中检查函数是否存在
  • 对于复杂场景可以考虑使用事件总线或Vuex状态管理
http://www.xdnf.cn/news/6278.html

相关文章:

  • 最新版VSCode通过SSH远程连接Ubuntu 16.04等旧版Linux的方法
  • 数据结构(九)——排序
  • Coze 实战教程 | 10 分钟打造你的AI 助手
  • Flutter——数据库Drift开发详细教程(六)
  • 【python基础知识】Day26 函数
  • Digi XBee XR 系列介绍
  • 如何在Firefox火狐浏览器里-安装梦精灵AI提示词管理工具
  • Spring MVC 接口的访问方法如何设置
  • Nginx与Tomcat负载均衡集群配置指南
  • IntelliJ IDEA 集成AI编程助手全解析:从Copilot到GPT-4o Mini的实践
  • 力扣.1471数组的k个最强值,力扣.1471数组的k个最强值力扣1576.替换所有的问号力扣1419.数青蛙​编辑力扣300.最长递增子序列
  • Spring框架核心技术深度解析:JDBC模板、模拟转账与事务管理
  • 【Vue】CSS3实现关键帧动画
  • 快速通关单链表秘籍
  • GPU与NPU异构计算任务划分算法研究:基于强化学习的Transformer负载均衡实践
  • Java实现MinIO上传PDF文件并配置浏览器在线打开及vue2上传页面
  • PCIe数据采集系统
  • 解决:npm install报错,reason: certificate has expired
  • 【python实用小脚本-63】每天花费2小时修复黑白照片,Python一键转换,节省90%时间(建议收藏)
  • 【hadoop】Flume的相关介绍
  • Trae - 国人Cursor的免费平替产品
  • idea经常卡顿解决办法
  • ctfshow权限维持
  • 城市扫街人文街头纪实胶片电影感Lr调色预设,DNG/手机适配滤镜!
  • 2025 Java 微信小程序根据code获取openid,二次code获取手机号【工具类】拿来就用
  • 力扣-46.全排列
  • 嵌入式培训之数据结构学习(三)gdb调试、单向链表练习、顺序表与链表对比
  • RPC协议及库介绍
  • 中国近代史1
  • promise的说明