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;
}
相关推荐
John.Lewis2 分钟前
C++初阶(14)list
开发语言·c++·笔记
_李小白2 分钟前
【OPENGL ES 3.0 学习笔记】第九天:缓存、顶点和顶点数组
笔记·学习·elasticsearch
shykevin1 小时前
uni-app x导航区域跳转
windows·uni-app
2501_915106321 小时前
iOS 混淆与 IPA 加固全流程,多工具组合实现无源码混淆、源码防护与可审计流水线(iOS 混淆|IPA 加固|无源码加固|App 防反编译)
android·ios·小程序·https·uni-app·iphone·webview
游戏开发爱好者81 小时前
用多工具组合把 iOS 混淆做成可复用的工程能力(iOS混淆 IPA加固 无源码混淆 Ipa Guard)
android·ios·小程序·https·uni-app·iphone·webview
哈基鑫3 小时前
YOLOv3 核心笔记
笔记·yolo·目标跟踪
2501_915921433 小时前
掌握 iOS 26 App 性能监控,从监测到优化的多工具组合流程
android·macos·ios·小程序·uni-app·cocoa·iphone
半夏知半秋4 小时前
游戏登录方案中常见的设计模式整理
服务器·开发语言·笔记·学习·游戏·设计模式·lua
勉灬之4 小时前
通过npm run XXX命令生成uniapp的pages.json文件
npm·uni-app·json
知识分享小能手4 小时前
uni-app 入门学习教程,从入门到精通, uni-app常用API的详细语法知识点(上)(5)
前端·javascript·vue.js·学习·微信小程序·小程序·uni-app