前端(组件传参案例)

父组件(商品详情页)

子组件上边放大图

 

底下缩小轮播图

 

 需求分析:父组件获取图片数据,传给底下子组件进行进行轮播,实现父组件给子组件传参。然后底下子组件轮播后,把当前图片下标给父组件,实现子组件给父组件传参。父组件然后把要展示的图片下标以及数据给上边组件,实现兄弟组件传参。

第一步:父组件获取数据传给子组件

父组件获取数据的json数据

let s = `{"code": 200,"message": "成功","data": {"valuesSkuJson": "{\\"3\\":3}","price": 5999,"categoryView": {"id": 61,"category1Id": 2,"category1Name": "手机","category2Id": 13,"category2Name": "手机通讯","category3Id": 61,"category3Name": "手机"},"spuSaleAttrList": [{"id": 2,"spuId": 1,"baseSaleAttrId": 2,"saleAttrName": "版本","spuSaleAttrValueList": [{"id": 3,"spuId": 1,"baseSaleAttrId": 2,"saleAttrValueName": "8G+128G","saleAttrName": "版本","isChecked": "1"}]}],"skuInfo": {"id": 1,"spuId": 1,"price": 5999,"skuName": "小米10 至尊纪念版 双模5G 骁龙865  120W快充 8GB+128GB 陶瓷黑 游戏手机","skuDesc": "小米10 至尊纪念版 双模5G 骁龙865 120HZ高刷新率 120倍长焦镜头 120W快充 12GB+256GB 陶瓷黑 游戏手机","weight": "1.00","tmId": 1,"category3Id": 61,"skuDefaultImg": "http://39.98.123.211/group1/M00/00/01/rBHu8l-rfvmAIpgZAAIvrX6L9fo612.jpg","isSale": 1,"createTime": "2021-12-10 09:31:42","skuImageList": [{"id": 1,"skuId": 1,"imgName": "ead186426badb626.jpg","imgUrl": "http://39.98.123.211/group1/M00/00/01/rBHu8l-rfvmAHpFuAACTenfIJWo734.jpg","spuImgId": 2,"isDefault": "0"},{"id": 2,"skuId": 1,"imgName": "b58ab2d79b859f39.jpg","imgUrl": "http://39.98.123.211/group1/M00/00/01/rBHu8l-rfvmAcbl2AAFopp2WGBQ404.jpg","spuImgId": 3,"isDefault": "0"},{"id": 3,"skuId": 1,"imgName": "0d93a071c839d890.jpg","imgUrl": "http://39.98.123.211/group1/M00/00/01/rBHu8l-rfvmATs5EAABriLbF9vE207.jpg","spuImgId": 4,"isDefault": "0"},{"id": 4,"skuId": 1,"imgName": "a7b1125239354d0d.jpg","imgUrl": "http://39.98.123.211/group1/M00/00/01/rBHu8l-rfvmAeWopAAEtpBjP1VQ788.jpg","spuImgId": 5,"isDefault": "0"},{"id": 5,"skuId": 1,"imgName": "6029cb2c2b2c7668.jpg","imgUrl": "http://39.98.123.211/group1/M00/00/01/rBHu8l-rfvmAZJX2AAGmVo8Tz9s683.jpg","spuImgId": 6,"isDefault": "0"},{"id": 6,"skuId": 1,"imgName": "2ff0882c9607e57c.jpg","imgUrl": "http://39.98.123.211/group1/M00/00/01/rBHu8l-rfvmAIpgZAAIvrX6L9fo612.jpg","spuImgId": 1,"isDefault": "1"}],"skuAttrValueList": [{"id": 1,"attrId": 106,"valueId": 176,"skuId": 1,"attrName": "手机一级","valueName": "安卓手机"},{"id": 2,"attrId": 107,"valueId": 177,"skuId": 1,"attrName": "二级手机","valueName": "小米"},{"id": 3,"attrId": 23,"valueId": 83,"skuId": 1,"attrName": "运行内存","valueName": "8G"},{"id": 4,"attrId": 24,"valueId": 82,"skuId": 1,"attrName": "机身内存","valueName": "128G"}],"skuSaleAttrValueList": [{"id": 1,"skuId": 1,"spuId": 1,"saleAttrValueId": 1,"saleAttrId": 1,"saleAttrName": "颜色","saleAttrValueName": "陶瓷黑"},{"id": 2,"skuId": 1,"spuId": 1,"saleAttrValueId": 3,"saleAttrId": 2,"saleAttrName": "版本","saleAttrValueName": "8G+128G"}]}},"ok": true
}`;

使用 JSON.parse 方法将 JSON 字符串转换为 JavaScript 对象

let data =ref(JSON.parse(s).data);

把数据传给下方子组件

<spec-scroll :imgList="data.skuInfo.skuImageList" @getIndex="getIndex"></spec-scroll>

下方子组件接收父亲数据

import {defineProps , defineEmits} from "vue"
let props = defineProps(["imgList"]);
let emits = defineEmits(["getIndex"]);
function handler(v){//将v传递给父组件emits("getIndex",v)
}

进行数据展示

    <el-carousel @change="handler" ><el-carousel-item v-for="item in props.imgList" :key="item.id"><div class="carousel-image-container"><img :src="item.imgUrl" alt="Carousel Image" class="carousel-image"></div></el-carousel-item></el-carousel>

第二步子组件把自己下标通过父组件函数传给父组件

父组件子组件获取下标

let index = ref(0);
function getIndex(v){console.log("组件的下标:"+v)index.value = v;
}

第三步父组件把下方组件下标和数据给上方组件

<preview :imgList="data.skuInfo.skuImageList" :index="index"></preview>

上方组件接收父亲给的下标和数据

import { defineProps } from 'vue';
// 定义 props
const props = defineProps({index: {type: Number,required: true},imgList: {type: Array,required: true}
});

最后展示图片

  <div class="preview"><div class="jqzoom"><!-- 动态绑定 img 的 src 属性 --><img :src="props.imgList[props.index].imgUrl" alt="Preview Image" /></div></div>

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

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

相关文章

Linux基础 -- 查看程序注册了的信号的方案

程序注册了哪些信号的方案 方法 1&#xff1a;使用 strace 动态追踪信号处理注册 strace 是一个强大的工具&#xff0c;可以动态捕获程序对信号的处理注册行为&#xff08;如 sigaction 或 signal 系统调用&#xff09;。 示例 启动程序并追踪信号注册&#xff1a; strace…

数据库设计的四大原则:优化性能、保证一致性与高效处理

目录 一. 数据冗余最小化 二. 数据一致性 三. 事务处理 四. 查询性能优化 数据库设计不仅是关于创建表和字段的简单任务&#xff0c;更是构建一个高效运行、易于维护且能够确保数据一致性的系统的核心。一个好的数据库设计不仅能提升应用程序的性能&#xff0c;还能为未来的…

What‘s Next on TON 成都站|聚焦生态创新,共享技术前沿

2024 年&#xff0c;TON 生态为何持续吸引全球开发者和用户的关注&#xff1f;在经历了一系列重要的技术更新和生态扩展后&#xff0c;TON 正在迎来一个爆发式增长的阶段。作为全球四城巡回沙龙的第三站&#xff0c;成都站的活动将如何继续推动这一势头&#xff0c;带来哪些不容…

算法-动态数组-62.不同路径

一、题目 二、思路解析 1.思路&#xff1a; 对于找到目的地它的来源主要来源于目的地的上一格和目的地的左一格 2.常用方法&#xff1a; 无 3.核心逻辑&#xff1a; 1.处理边界&#xff1a; a.只向右移动&#xff0c;至始至终只有一条路径 for(int i0;i<m;i){dp[i][0]1; } …

近端策略优化(Proximal Policy Optimization, PPO)详解

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Windows 系统如何高效搭建 Linux 开发环境,一步步解锁内核源码

每日禅语 人闲桂花落&#xff0c;夜静春山空。月出惊山鸟&#xff0c;时鸣春涧中。人人皆以为王维只是在写自然界景物的美丽&#xff0c;其实这首诗不只体现了自然界的美丽&#xff0c;更是诗人内心的写照&#xff0c;体现了诗人心中禅心与禅境的完美结合。这首诗的境界之所以如…

C++循环斐波那契数列

1.斐波那契数列&#xff0c;又称黄金分割数列、因数学家莱昂纳多斐波那契&#xff08;Leonardoda Fibonacci&#xff09;以兔子繁殖为例子而引入&#xff0c;故又称为“兔子数列”。如果每对兔子&#xff08;一雄一雌&#xff09;每月能生殖一对小兔子&#xff08;一雄一雌&…

2024年A特种设备相关管理证考试题库及A特种设备相关管理试题解析

为了确保特种设备的安全运行&#xff0c;提高特种设备管理人员的专业素质&#xff0c;2024年A特种设备相关管理证考试题库已经更新&#xff0c;并配备了详细的试题解析。以下是从题库中精选的10道试题&#xff0c;每道试题都附有答案和解析&#xff0c;帮助考生更好地理解考试内…

“视觉革命:走进可视化AI识别系统的智能世界

嘿&#xff0c;各位朋友&#xff01;今天咱们来聊聊一个特别酷炫的技术——可视化AI识别系统。想象一下&#xff0c;如果你的手机能够像你一样“看”懂周围的世界&#xff0c;并且还能告诉你它看到了什么&#xff0c;是不是很神奇&#xff1f;没错&#xff0c;这就是可视化AI识…

Kubernetes 生态揭秘:深度剖析服务与流量管理、Pod 创建,以及外部请求的响应之旅

kubernetes&#xff0c;简称为k8s&#xff08;k12345678s&#xff09;。用于自动部署、扩展和管理“容器化&#xff08;containerized&#xff09;应用程序”的开源系统。可以理解成 K8S 是负责自动化运维管理多个容器化程序&#xff08;比如 Docker&#xff09;的集群&#xf…

职场上,如何做好自我保护?

今天我们讨论一个话题&#xff1a;在职场上&#xff0c;如何保护好自己&#xff1f;废话不多说&#xff0c;我们直接上干货。 &#xff08;一&#xff09; 1.时刻准备一点零食或代餐&#xff0c;如果遇到长时间的会议&#xff0c;就补充点能量。代餐最好选流体&#xff0c;这…

【Lua热更新】下篇 -- 更新中

上篇链接&#xff1a;【Lua热更新】上篇 文章目录 三、xLua热更新&#x1f4d6;1.概述&#x1f4da;︎2.导入xLua框架&#x1f516;3. C#调用Lua3.1Lua解析器3.2Lua文件夹的重定向3.3Lua解析器管理器3.4全局变量获取3.5全局函数获取3.6映射到List和Dictionary3.7映射到类3.8映…

Gin-vue-admin(1):环境配置和安装

目录 环境配置如果443网络连接问题&#xff0c;需要添加代理服务器 后端运行前端运行 环境配置 git clone https://gitcode.com/gh_mirrors/gi/gin-vue-admin.git到server文件目录下 go mod tidygo mod tidy 是 Go 语言模块系统中的一个命令&#xff0c;用于维护 go.mod 文件…

C# 中的闭包

文章目录 前言一、闭包的基本概念二、匿名函数中的闭包1、定义和使用匿名函数2、匿名函数捕获外部变量3、闭包的生命周期 三、Lambda 表达式中的闭包1、定义和使用 Lambda 表达式2、Lambda 表达式捕获外部变量3、闭包的作用域 四、闭包的应用场景1、事件处理2、异步编程3、迭代…

视阅口译与其他口译的不同点

与其他口译不同 译员在进行视阅口译时可以看到书面材料&#xff0c;这与交替口译和同声口译有所不同。译员能够提前浏览文本内容&#xff0c;对主题、结构和专业词汇等有初步的了解。 压力相对较小 视阅口译相较于同声传译而言&#xff0c;时间压力没有那么紧迫。译员有一定…

功能篇:JAVA8实现数据去重

在Java 8中&#xff0c;有多种方法可以实现集合的去重。下面我将介绍几种常见的方法&#xff1a; ### 使用Set接口 最简单的方法是使用Set接口&#xff0c;因为根据定义&#xff0c;Set不允许重复元素。如果你有一个List并且想要去除其中的重复项&#xff0c;你可以将其转换为…

初学stm32 --- NVIC中断

目录 STM32 NVIC 中断优先级管理 NVIC_Type: ISER[8]&#xff1a; ICER[8]&#xff1a; ISPR[8]&#xff1a; ICPR[8]&#xff1a; IABR[8]&#xff1a; IP[240]&#xff1a; STM32 的中断分组&#xff1a; 中断优先级分组函数 NVIC_PriorityGroupConfig 中断初始化函…

网卡 TSO(提示发送端性能), LRO, GRO (提升接收端性能)功能

功能核心要点工作原理相关层级TSO (TCP Segmentation Offload)通过硬件完成TCP分段&#xff0c;减少CPU负担将大块数据分段为多个较小的TCP包&#xff0c;在网卡处进行分段处理网卡驱动&#xff0c;内核态LRO (Large Receive Offload)在网卡处合并多个TCP包&#xff0c;减少中断…

Dot Foods EDI 需求分析及对接流程

Dot Foods 是一家美国领先的食品和非食品产品的中间批发分销商&#xff0c;主要为食品服务、零售和分销行业的客户提供服务&#xff0c;是北美大型食品中间分销商之一。Dot Foods &#xff08;以下简称 Dot&#xff09;的业务模式是通过整合多个供应商的产品&#xff0c;为客户…

ic电路与mos管

最近调试步进电机发现不同的需求的情况下&#xff0c;使用是电路设计会不同&#xff0c;所以做个小结&#xff0c; 感叹现在的ai汇总真的厉害&#xff0c;目前daisy也经常使用&#xff0c;从之前的文言一心到现在的通义灵马和腾讯云ai&#xff0c;随着用户的增多可以明显感觉到…