vue vue3 走马灯Carousel

背景:

在项目中需要展示多张图片,但在页面上只有一张图片的有限位置,此时考虑使用轮播图实现多张图片的展示。element组件官网有走马灯Carousel的组件详细介绍。

实现效果:

官网链接:点击跳转

核心代码:

<el-carouselstyle="width: 100%; height: 100%":interval="5000":trigger="'click'":indicator-position="'none'"><el-carousel-itemv-for="(item, index) of state.ferryPortdata.photoList":key="index"><div class="aspect-container"><el-imageclass="carousel-image":src="BASEUrl + '/file/' + item.file":preview-src-list="[BASEUrl + '/file/' + item.file]":preview-teleported="true"alt=""fit="cover"/></div></el-carousel-item></el-carousel>

组件的属性:

走马灯组件的属性,如下:

autoplay:是否自动切换。默认值true

interval:自动切换的时间间隔,单位为毫秒。默认值3000

trigger:指示器的触发方式。属性值:'hover' | 'click' 。默认值hover

indicator-position:指示器的位置。属性值3种:'' | 'none' | 'outside'

默认情况下,它会显示在走马灯内部,设置为 outside 则会显示在外部;设置为 none 则不会显示指示器。

el-image图片组件的属性,如下:

src :图片源地址

fit:图片如何适应容器框。属性值:'' | 'fill' | 'contain' | 'cover' | 'none' | 'scale-down'

preview-src-list:开启图片预览功能。string[]

preview-teleported:image-viewer 是否插入至 body 元素上。

嵌套的父元素属性会发生修改时应该将此属性设置为 true【即图片放大到全局】

写到这儿。。。走马灯轮播图的效果就实现了。。。

下面是走马灯的图片的点击放大效果。

走马灯点击放大:

思路如下:

走马灯的图片点击放大实现思路如下::

1、查看走马灯组件是否有click点击事件。

2、自定义一个click事件,绑定在图片身上,当点击图片触发图片放大的效果 。

3、el-image图片组件,图片点击放大的属性且放大到全局推荐用法!!!

1、走马灯组件是否有点击事件:

通过访问走马灯组件的官网知道,走马灯没有相应的点击事件

2、自定义图片的点击事件:

给走马灯组件内部的每一张图片绑定click自定义事件,自定义事件实现图片放大效果 

实现效果:

核心代码:

 点击事件:

const showPreview = ref(false);
const handleClick = (data) => {showPreview.value = true;state.imgSrc = BASEUrl + "/file/" + data.file;
};

图片预览组件: 

//图片预览el-image-viewer组件
//state.imgSrc是每次点击图片的地址
<el-image-viewerv-if="showPreview":url-list="[state.imgSrc]"@close="showPreview = false"/>

图片预览官网链接:点击跳转

 

3、el-image图片组件的点击放大【推荐】:

实现效果:

图片能够实现点击放大,并且放大到全局。放大到全局需要设置el-image的一个属性preview-teleported=“true”,用于控制image-viewer 是否插入至 body 元素上。

官网链接:点击跳转

 

未设置效果: 

 

设置代码及效果:

//el-image图片预览效果,image-viewer相对于标签body
//:preview-teleported="true"<el-imagev-if="state.sixNoData.photo"class="img-style":src="BASEUrl + '/file/' + state.sixNoData.photo"alt=""fit="cover":preview-src-list="[BASEUrl + '/file/' + state.sixNoData.photo]":preview-teleported="true"/>

备注:

问:走马灯组件和图片预览组件的代码应该怎么组合使用?

走马灯组件和图片预览组件放置在同级,如下:

不能这样放:

 问题:图片为什么显示加载失败?

  答:图片涉及到了跨域处理,前端做了对一个图片地址src的访问代理。

接口返回的数据如下:

other/fe9824e5-e1bf-4af8-9e19-9ce508e19fd4.jpg

前端能够展示的src形式是:

/file/other/d19b3d89-5ac5-46e5-a004-8cd51434168e.jpg是文件存放路径

BASEUrl + '/file/' + item.file

即:

 /apiproxy/pa/file/other/d19b3d89-5ac5-46e5-a004-8cd51434168e.jpg

 /apiproxy/pa是前端代理

问题:state.ferryPortdata.photoList响应式变量的数据结构是什么样的?

答:是接口返回的数据,其中涉及到的数据,示例如下:

//涉及到的数据
[{"pid": 142,"category": null,"type": 6,"file": "other/fe9824e5-e1bf-4af8-9e19-9ce508e19fd4.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null},{"pid": 143,"category": null,"type": 6,"file": "other/e1ce36cc-7085-490c-bb9d-b4589590c751.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null},{"pid": 144,"category": null,"type": 6,"file": "other/c2fc72b8-ec93-4f4d-bdaf-866fe8e3ad31.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null},{"pid": 145,"category": null,"type": 6,"file": "other/a091bb95-66c3-4870-84ce-a9d34a0f81a1.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null},{"pid": 146,"category": null,"type": 6,"file": "other/d19b3d89-5ac5-46e5-a004-8cd51434168e.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null}
]

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

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

相关文章

重学vue3(三):vue3基本语法及使用

组合式 API是vue3 的核心特性&#xff0c;替代 Vue2 的选项式 API&#xff0c;强调逻辑复用和代码组织。基本语法如下&#xff1a; <script setup> import { ref, reactive, computed, onMounted } from vue;// 1. 响应式数据 const count ref(0); // 基本类…

Spring Boot分布式项目异常处理实战:从崩溃边缘到优雅恢复

当单体应用拆分成分布式系统&#xff0c;异常就像被打开的潘多拉魔盒&#xff1a;RPC调用超时、分布式事务雪崩、第三方接口突然罢工…在最近的电商大促中&#xff0c;我们的系统就经历了这样的至暗时刻。本文将用真实代码示例&#xff0c;展示如何构建分布式异常处理体系。 一…

导出sql命令

除了之前提到的 \G 命令&#xff0c;以下是其他优化 MySQL 查询结果显示的方法&#xff0c;供你参考&#xff1a; --- ### 1. **使用 \T 命令导出结果到文件** - 在 MySQL 命令行中&#xff0c;使用 \T 文件名 可以将查询结果以表格形式导出到指定文件&#xff0c;便于后续…

TDengine 3.3.2.0 集群报错 Post “http://buildkitsandbox:6041/rest/sql“

原因&#xff1a; 初始化时处于内网环境下&#xff0c;Post “http://buildkitsandbox:6041/rest/sql“ 无法访问 修复&#xff1a; vi /etc/hosts将buildkitsandbox映射为本机节点 外网环境下初始化时没有该问题

深度解析 BPaaS:架构、原则与研发模式探索

在当今复杂多变的业务环境下&#xff0c;软件开发面临着诸多挑战&#xff0c;如何有效地管理业务复杂性并实现系统的可扩展性成为关键。BPaaS应运而生&#xff0c;它作为一种创新的理念和架构模式&#xff0c;改变着企业研发的方式。本文将深入探讨 BPaaS 是什么&#xff0c;以…

如何在linux中部署dns服务 主备dns (详细全过程)

环境centos 7.9 主DNS&#xff1a;192.168.60.131 备DNS&#xff1a;192.168.60.134 我以 chenxingyu0.com 指向 192.168.60.200为例 首先是主dns #!/bin/bash# 检查是否为 root 用户 if [ "$(id -u)" ! "0" ]; thenecho "请使用…

操作系统导论——第13章 抽象:地址空间

一、早期系统 从内存来看&#xff0c;早期的机器并没有提供多少抽象给用户。基本上&#xff0c;机器的物理内存如图13.1所示 操作系统曾经是一组函数&#xff08;实际上是一个库&#xff09;&#xff0c;在内存中&#xff08;在本例中&#xff0c;从物理地址0开始&#xff09;&…

云端存储新纪元:SAN架构驱动的智能网盘解决方案

一、企业存储的"不可能三角"破局 1.1 传统存储架构的困局 性能瓶颈&#xff1a;NAS架构在1000并发访问时延迟飙升300%容量限制&#xff1a;传统RAID扩容需停机维护&#xff0c;PB级存储扩展耗时超48小时成本矛盾&#xff1a;全闪存阵列每TB成本高达$3000&#xff0…

Android adb自身调试log开关

本文介绍下如何打开adb源码中的debug log 1.adb源码log是可以动态打开和关闭的&#xff0c;控制逻辑代码如下 static NoDestructor<std::mutex> log_mutex; static NoDestructor<CachedProperty> log_property GUARDED_BY(log_mutex)("debug.adbd.logging&q…

Axure RP 9.0教程: 基于动态面板的元件跟随来实现【音量滑块】

文章目录 引言I 音量滑块的实现步骤添加底层边框添加覆盖层基于覆盖层创建动态面板添加滑块按钮设置滑块拖动效果引言 音量滑块在播放器类APP应用场景相对较广,例如调节视频的亮度、声音等等。 I 音量滑块的实现步骤 添加底层边框 在画布中添加一个矩形框:500 x 32,圆…

rocky linux 与centos系统的区别

Rocky Linux 和 CentOS 都是基于 Red Hat Enterprise Linux&#xff08;RHEL&#xff09;的社区发行版&#xff0c;但两者在目标定位、更新策略和社区管理上有显著差异。以下是核心区别的详细对比&#xff1a; 一、背景与定位 特性Rocky LinuxCentOS起源由 CentOS 联合创始人…

洛谷题单1-B2002 Hello,World!-python-流程图重构

题目描述 编写一个能够输出 Hello,World! 的程序。 提示&#xff1a; 使用英文标点符号&#xff1b;Hello,World! 逗号后面没有空格。H 和 W 为大写字母。 输入格式 无 输出格式 无 输入输出样例 #1 输入 #1 无输出 #1 Hello,World!方式-print() 代码 class Solut…

网络基础-路由器和交换机工作配置

三、路由器和交换机的工作原理配置以及华为体系下的小型网络的搭建 3.1路由基础 3.1.1数据转发 通过链路层交换机和网络层路由器进行数据转发 交换机&#xff08;链路层&#xff09;mac地址表的数据转发路由器&#xff08;网络层&#xff09; ip路由表的数据转发 隔离广播域…

爱普生SG-3031CMA有源晶振在汽车雷达中的应用

随着自动驾驶技术的普及&#xff0c;汽车雷达已成为高级驾驶辅助系统&#xff08;ADAS&#xff09;和自动驾驶系统的核心感知组件。雷达模块需要精确的时钟信号来确保发射/接收时序的准确性、信号处理的同步性以及低功耗运行。这些系统对时钟信号的稳定性、抗干扰性及环境适应性…

案例实践 | 招商局集团以长安链构建“基于DID的航运贸易数据资产目录链”

概览 案例名称 基于DID的航运贸易数据资产目录链 业主单位 招商局集团 上线时间 2024年10月 用户群体 供数用数企业和个人 用户规模 集团内20企业 案例背景 招商局集团深入落实“促进数据高效流通使用、赋能实体经济”精神&#xff0c;深化集团数字化水平&#xff0c…

【docker】docker-compose安装RabbitMQ

docker-compose安装RabbitMQ 1、配置docker-compose.yml文件&#xff08;docker容器里面的目录请勿修改&#xff09;2、启动mq3、访问mq4、查看服务器映射目录5、踩坑5.1、权限不足 1、配置docker-compose.yml文件&#xff08;docker容器里面的目录请勿修改&#xff09; versi…

Maven工具学习使用(二)——Maven基础用法

pom常见属性说明 详细见官方文档说明 https://maven.apache.org/ref/3.8.6/maven-model/maven.html#class_releases <modelVersion>4.0.0</modelVersion> POM模型的版本 <groupId>org.apache.maven.plugins</groupId> 项目属于哪个组&#xff…

蓝桥杯高频考点——二分(含C++源码)

二分 基本框架整数查找&#xff08;序列二分的模版题 建议先做&#xff09;满分代码及思路solution 子串简写满分代码及思路solution 1&#xff08;暴力 模拟双指针70分&#xff09;solution 2&#xff08;二分 AC&#xff09; 管道满分代码及思路样例解释与思路分析solution 最…

【谷粒商城踩坑记】第五坑 拖拽组件三级菜单拖不了问题

第五坑 拖拽组件三级菜单拖不了问题 直接进入或刷新页面后,拖动第三级菜单项,无法修改排序位置&#xff0c;我尝试了直接用源码包中提供的老师的代码也不行&#xff0c;本身就有这个小 Bug &#xff0c;或者说是其它什么地方有问题。 原始内容是这样的。 countNodeLevel(node){…

《深度剖析Android 12 SystemUI锁屏通知布局亮屏流程:从源码到实现》

优化后文章结构&#xff1a; 1. 前言 强调锁屏通知布局的重要性及分析目的&#xff0c;引出后续源码分析的必要性。 2. 核心类解析 KeyguardViewMediator&#xff1a;锁屏核心逻辑控制&#xff0c;处理亮屏/息屏事件分发。 PhoneWindowManager&#xff1a;系统输入事件&…