uni-app项目实战笔记22--图片预览和切换

需求描述:

1、图片预览时,通常需要知道,当前预览的是第几张,总共有多少张图片;

2、当用户左右滑动切换预览图片时,当前预览索引需要随着进行切换。

下面简单介绍下实现过程:

1、在图片列表页点击预览图片时,把图片Id作为参数传递过去

javascript 复制代码
<navigator :url="'/pages/preview/preview?id='+item._id" class="item" v-for="item in classifyList" :key="item._id">

2、在预览详情页获取传递过来的id,通过前面的学习可知,可使用onLoad函数获取

javascript 复制代码
//分页图片列表,前面笔记有记录怎么获取,这里略
const classList = ref([])
//当前图片的id
const currentId = ref(null)
//当前图片的索引,默认为第1张
const currentIndex = ref(0)
//使用onLoad函数,通过id获取当前索引
//如果当前id等于分类列表指定项的id,则该项的索引则为当前图片的索引
onLoad((e)=>{
	currentId.value = e.id
	currentIndex.value = classList.value.findIndex(item=>item._id == currentId.value)
	console.log("index:"+currentIndex)
})

在模板层使用上面代码获取到的索引,由于索引从0开始,当前查看是第几张图片则需要索引加1,预览总数为分类列表数组的长度

html 复制代码
<view class="count">{{currentIndex+1}} / {{classList.length}} </view>

最后再来实现图片切换时,索引页的切换

html 复制代码
<swiper circular :current="currentIndex" @change="swiperChange">

在swiper中当前图片所在的索引即为上面JS获得的currentIndex,当滑动图片时,通过change事件来改变当前索引

javascript 复制代码
const swiperChange =(e) =>{
	currentIndex.value = e.detail.current;
}
相关推荐
qq_284274059 小时前
机械原理笔记:平面机构自由度计算(复合铰链、局部自由度、虚约束)与四杆机构入门(含考点)
笔记·学习·平面·自动化·制造
qq_2842740510 小时前
数控铣床与加工中心笔记:铣刀与刀柄系统、G54试切对刀、镜像加工指令、孔加工工艺(钻扩铰镗)与固定循环G73/G83/G81/G76/G87/G84
笔记·学习·自动化·制造
Titan202411 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
深圳老胡12 小时前
STM32CubeMX 生成 CMake 工程,用 VSCode 编译与调试的完整流程
笔记·stm32·单片机·代码规范
坤坤子吖12 小时前
C++智能指针:RAII、shared_ptr与内存泄漏
开发语言·c++·笔记·学习
乐橙开放平台12 小时前
智慧连锁客流检测和离岗检测怎么对接
大数据·人工智能·笔记·物联网·自动化·音视频·智能家居
零基础12313 小时前
FinalShell 使用教程:从安装到高效运维
运维·经验分享·笔记·finalshell
ACP广源盛1392462567313 小时前
Type‑C 扩展坞方案选型笔记|国产 DP1.4 转 HDMI2.0 桥接芯片 GSV2201S @ACP评估
c语言·开发语言·笔记·硬件架构·硬件工程·国产芯片
敲个大西瓜14 小时前
langchain笔记(一)
redis·笔记·langchain
带金箍的至尊宝14 小时前
系统架构设计师笔记 05:第2章硬件与软件基础,冯诺依曼结构怎么考
数据库·笔记·系统架构