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

实战:子组件获取父组件订单信息

最佳实践建议

  1. 优先使用 props:适合父子组件直接通信,数据流向清晰
  2. 复杂场景用 eventBus:跨组件通信推荐使用 mitt 库
  3. 避免过度使用 $parent:会导致组件耦合度高,难以维护
  4. provide/inject 适用于跨层级:如主题配置、全局状态等
  5. 大型项目用 Pinia 或 Vuex:管理全局状态,适合复杂应用

根据你的业务场景选择合适的方式,保持组件间低耦合高内聚,提升代码可维护性。

下面使用第一种方式传递

实战:子组件获取父组件订单信息

以你的发货弹窗组件为例,获取父组件的订单ID:

父组件传递订单ID
<template><view class="order-detail"><button @click="showDeliveryPopup">显示发货弹窗</button><DeliveryPopup :orderId="order.id"@delivery-success="handleDelivery"/></view>
</template><script>
import DeliveryPopup from '@/components/DeliveryPopup.vue';export default {components: { DeliveryPopup },data() {return {order: {id: 20230607,amount: 299,status: '待发货'}}},methods: {showDeliveryPopup() {// 显示弹窗},handleDelivery(res) {// 处理发货成功逻辑uni.showToast({title: '发货成功',icon: 'success'});}}
}
</script>

子组件接收并使用订单ID
<template><view class="delivery-popup"><!-- 其他代码 --><text>订单ID: {{ orderId }}</text><button @click="handleSend">确认发货</button></view>
</template><script setup>
import { defineProps, defineEmits } from 'vue';// 定义 props 接收父组件订单ID
const props = defineProps({orderId: {type: Number,required: true}
});const emits = defineEmits(['delivery-success']);const handleSend = () => {// 使用父组件传递的 orderId 构建发货参数const params = {orderId: props.orderId,expressCompanyId: 1,logisticsNo: 'SF123456789'};// 调用发货接口// ...// 通知父组件发货成功emits('delivery-success', {orderId: props.orderId,status: '已发货',// 其他结果数据});
};
</script>

相关文章:

  • AI联网时代嵌入式不再闭门造车--嵌入式开发工具软件针对性断网隔离方法原理与实测
  • Rest-Assured API 测试:基于 Java 和 TestNG 的接口自动化测试
  • golang常用库之-go-i18n库(国际化)
  • STM32学习之I2C(理论篇)
  • 智慧零售管理中的客流统计与属性分析
  • tableau 实战工作场景常用函数与LOD表达式的应用详解
  • rl_sar实现sim2real的整体思路
  • 按字典序排列最小的等效字符串
  • 第三章支线二 ·函数幻阶:语法召唤与逻辑封印
  • C#提取CAN ASC文件时间戳:实现与性能优化
  • < 自用文 OS有关 新的JD云主机> 国内 京东云主机 2C4G 60G 5Mb 498/36月 Ubuntu22
  • 618来了,推荐京东云服务器
  • 如何构建船舵舵角和船的航向之间的动力学方程?它是一个一阶惯性环节吗?
  • python打卡第47天
  • ArcPy扩展模块的使用
  • 数控滑台技术革新:实现高效精密加工的全面探索
  • 【读论文】U-Net: Convolutional Networks for Biomedical Image Segmentation 卷积神经网络
  • 第二十七课:手搓梯度提升树
  • FreeRTOS任务调度过程vTaskStartScheduler()任务设计和划分
  • 推客系统小程序开发:告别低效推广,开启精准获客新时代
  • 带商城的wordpress/谷歌优化seo
  • 平板网站建设/网站推广优化的方法
  • 刘强东当年做网站读的什么书/软文网站
  • 网站建设需要哪些工作室/重庆百度推广
  • 网站的友情连接怎么做/google ads
  • 建网站需要什么编程技术/免费的建站平台