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

最佳实践建议

  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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/84123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Security深度解析:构建企业级安全框架

Spring Security深度解析:构建企业级安全框架 本文将深入探讨Spring Security安全框架的核心原理、架构设计和实际应用,帮助开发者全面掌握企业级应用安全防护技术。 目录 Spring Security概述核心架构与原理认证机制详解授权机制详解核心组件分析配置与集成高级特性应用安全…

计算矩阵A和B的乘积

根据矩阵乘法规则&#xff0c;编程计算矩阵的乘积。函数fix_prod_ele()是基本方法编写&#xff0c;函数fix_prod_opt()是优化方法编写。 程序代码 #define N 3 #define M 4 typedef int fix_matrix1[N][M]; typedef int fix_matrix2[M][N]; int fix_prod_ele(f…

《Brief Bioinform》: 鼠脑单细胞与Stereo-seq数据整合算法评估

一、写在前面 基因捕获效率、分辨率一直是空间转录组细胞类型识别的拦路虎&#xff0c;许多算法能够整合单细胞(single-cell, sc)或单细胞核(single-nuclear, sn)数据与空间转录组数据&#xff0c;从而帮助空转数据的细胞类型注释。此前我们介绍过近年新出炉的Stereo-seq平台&…

camera功能真的那么难用吗

背景 Android开发工作过程中&#xff0c;经常需要用到camera相关能力&#xff0c;比如&#xff1a;人脸识别&#xff0c;ai识别&#xff0c;拍照预览&#xff0c;摄像头录制等等需求。都需要使用到camera&#xff0c;且需要拿到camera的预览数据。但是每次开发这块代码都比较繁…

USART 串口通信全解析:原理、结构与代码实战

文章目录 USARTUSART简介USART框图USART基本结构数据帧起始位侦测数据采样波特率发生器串口发送数据 主要代码串口接收数据与发送数据主要代码 USART USART简介 一、USART 的全称与基本定义 英文全称 USART&#xff1a;Universal Synchronous Asynchronous Receiver Transmi…

LeetCode 152. 乘积最大子数组 - 动态规划解法详解

文章目录 问题描述解题思路动态规划状态定义状态转移方程完整代码实现复杂度分析示例解析关键点说明总结问题描述 给定一个整数数组 nums,请找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组对应的乘积。 示例: 输入: [2,3,-2,4] 输出: 6 解…

Python: 操作 Excel折叠

💡Python 操作 Excel 折叠(分组)功能详解(openpyxl & xlsxwriter 双方案) 在处理 Excel 报表或数据分析时,我们常常希望通过 折叠(分组)功能 来提升表格的可读性和组织性。本文将详细介绍如何使用 Python 中的两个主流 Excel 操作库 —— openpyxl 和 xlsxwriter …

28、元组的遍历

const_cast 只能用于指针或引用类型&#xff0c;而不能用于基本类型如 int。 在的代码中&#xff0c;试图将 i 转换为 const_cast<int>(i)&#xff0c;这是不合法的。 可以使用模板函数来获取元组中的元素&#xff0c;而不是使用 const_cast。以下是修正后的代码&#x…

sendDefaultImpl call timeout(rocketmq)

rocketmq 连接异常 senddefaultimpl call timeout-腾讯云开发者社区-腾讯云 第一种情况&#xff1a; 修改broker 的配置如下&#xff0c;注意brokerIP1 这个配置必须有&#xff0c;不然 rocketmq-console 显示依然是内网地址 caused by: org.apache.rocketmq.remoting.excep…

【仿生机器人】仿生机器人智能架构:从感知到个性的完整设计

仿生机器人智能架构&#xff1a;从感知到个性的完整设计 仿生机器人不仅需要模拟人类的外表&#xff0c;更需要具备类人的认知、情感和个性特征。本研究提出了一个综合性的软件架构&#xff0c;实现了从环境感知到情感生成、从实时交互到人格塑造的完整智能系统。该架构突破了…

Spring Boot微服务架构(十一):独立部署是否抛弃了架构优势?

Spring Boot 的独立部署&#xff08;即打包为可执行 JAR/WAR 文件&#xff09;本身并不会直接丧失架构优势&#xff0c;但其是否体现架构价值取决于具体应用场景和设计选择。以下是关键分析&#xff1a; 一、独立部署与架构优势的关系 内嵌容器的优势保留 Spring Boot 独立部署…

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…

2025年6月3日面试总结

1. 面试官问一台机器内存或者磁盘占用99% 再点一下就挂了&#xff0c;个人刚开始反应内存不足加内存&#xff0c;磁盘不足加磁盘&#xff0c;还有啥办法&#xff0c;有些时候没干过的事一定要大胆&#xff0c;敲命令都敲不成&#xff0c;只能换磁盘了和加内存了&#xff0c;要么…

从上下文学习和微调看语言模型的泛化:一项对照研究

大型语言模型表现出令人兴奋的能力&#xff0c;但也可以从微调中表现出令人惊讶的狭窄泛化。例如&#xff0c;他们可能无法概括为简单的关系反转&#xff0c;或者无法根据训练信息进行简单的逻辑推理。这些未能从微调中概括出来的失败可能会阻碍这些模型的实际应用。另一方面&a…

解决cocos 2dx/creator2.4在ios18下openURL无法调用的问题

由于ios18废弃了旧的openURL接口&#xff0c;我们需要修改CCApplication-ios.mm文件的Application::openURL方法&#xff1a; //修复openURL在ios18下无法调用的问题 bool Application::openURL(const std::string &url) {// NSString* msg [NSString stringWithCString:…

Go 语言并发编程基础:Goroutine 的创建与调度

Go 语言的并发模型是其最显著的语言特性之一。Goroutine 是 Go 实现并发的核心机制&#xff0c;它比线程更轻量&#xff0c;调度效率极高。 本章将带你了解 Goroutine 的基本概念、创建方式以及背后的调度机制。 一、什么是 Goroutine&#xff1f; Goroutine 是由 Go 运行时&a…

网页绘制表格

说明&#xff1a; border"1"&#xff1a;设置表格边框宽度为 1 像素&#xff08;可调整数值改变边框粗细&#xff09;。cellspacing"0"&#xff1a;设置单元格间距为 0&#xff08;去除边框间的空白间隙&#xff09;。<thead>&#xff1a;定义表头区…

Python爬虫实战:研究Unirest库相关技术

一、引言 在当今信息爆炸的时代,网络数据的获取与分析变得尤为重要。Python 作为一种功能强大且易于学习的编程语言,在网络爬虫领域有着广泛的应用。Unirest 库是一个轻量级的 HTTP 客户端库,它提供了简洁的 API,使得发送 HTTP 请求变得更加容易。本论文将详细分析如何使用…

二、【ESP32开发全栈指南:ESP32 GPIO深度使用】

GPIO&#xff08;通用输入输出&#xff09; 是ESP32最基础却最核心的功能。本文将带你深入ESP32的GPIO操作&#xff0c;通过按键读取和LED控制实现物理按键→ESP32→LED的完整信号链路。 一、ESP32 GPIO核心特性速览 34个可编程GPIO&#xff08;部分引脚受限&#xff09;输入模…

调用.net DLL让CANoe自动识别串口号

1.前言 CANoe9.0用CAPL控制数控电源_canoe读取程控电源电流值-CSDN博客 之前做CAPL通过串口控制数控电源&#xff0c;存在一个缺点&#xff1a;更换电脑需要改串口号 CSDN上有类似的博客&#xff0c;不过要收费&#xff0c;本文根据VID和PID来自动获取串口号&#xff0c;代码…