小程序-uni.previewImage实现点击图片放大的预览功能

2023-11-18

uni.previewImage是uniapp提供的预览图片的方法

第一种点击盒子图片预览放大效果

1.准备结构

<view v-for="(item,index) in photos" :key="index">
//点击当前图片传入索引							
	<image :src="item.pics_small_url"  @click="getImgIndex(index)"></image>					
</view>

2.实现功能

<script>
	export default {
		data() {
			return {
				photos: [] // 存放从后台获取的数据   图片路径
			};
		},
		methods: {
			getImgIndex(index){
				console.log(index);
				//准备一个装图片路径的  数组imgs
				let imgs = this.photos.map( item =>{
                //只返回图片路径
					return item.pics_big_url  
				})
				// console.log(imgs);

                //调用预览图片的方法
				uni.previewImage({
					urls:imgs,
					current:index  //点击图片传过来的下标
				})
			}
		}
	}
</script>

3.实现效果

第二种轮播图点击图片预览放大效果

渲染轮播图区域
1.使用 v-for 指令,循环渲染如下的轮播图 UI 结构:

<!-- 轮播图区域 --> 
<!-- 小圆点 / 自动轮播 / 轮播间隔时间 / 当前页轮播开始到结束耗时 / 无缝衔接轮播 -->
<swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" :circular="true">  
  <swiper-item v-for="(item, i) in goods_info.pics" :key="i">
    <image :src="item.pics_big"></image>
  </swiper-item> 
</swiper> 

 2.美化轮播图的样式

	// 轮播图样式处理
  swiper {
    height: 330rpx;
	//每一张轮播
    .swiper-item,
    image {
      width: 100%;
      height: 100%;
    }
  }

3.实现轮播图预览效果

  • 为轮播图中的 image 图片绑定 click 事件处理函数:
  • <swiper-item v-for="(item, i) in goods_info.pics" :key="i">
       <!-- 把当前点击的图片的索引,传递到 preview() 处理函数中 -->
       <image :src="item.pics_big" @click="preview(i)"></image>
    </swiper-item> 
    

  • 在 methods 中定义 preview 事件处理函数:
  • // 实现轮播图的预览效果
    preview(i) {   
      // 调用 uni.previewImage() 方法预览图片   
      uni.previewImage({     
        // 预览时,默认显示图片的索引
        current: i,    
        // 所有图片 url 路径的数组  //这里直接把图片列表的数组放入即可
        urls: this.goods_info.pics.map(item => item.pics_big)
      }) 
    } 
    

  • 4.实现效果:

  •  

     

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小程序-uni.previewImage实现点击图片放大的预览功能 的相关文章

  • volatile保证可见性,原理是什么

    VOLATILE 只保证可见性 Java多线程内存可见性 并不保证原子性 可见性 一个线程对共享变量的修改 更够及时的被其他线程看到 原子性 即不可再分了 不能分为多步操作 比如赋值或者return 比如 a 1 和 return a 这样
  • 使用本地Windows创建密钥连接GitHub时发现你的git根目录里没有.ssh文件夹怎么办?

    首先 你在桌面右击进入Git Bash 输入如下命令查看git配置中是否有自己的GitHub账号名和邮箱 git config list 一般你自己不设置是不会有的 那就自己在本地创建一个账号名和邮箱 引号中填写你的账号名 git conf
  • Python:Tornado框架之获取get和post的传参

    一 获取get方式传参 import tornado ioloop 导入tornado包 import tornado web class MainHandle tornado web RequestHandler def get self
  • number1(python)

    1抽 签 你的朋友提议玩一个游戏 将写有数字的 I个纸片放入口袋中 你可以从口袋中抽取 4 次纸 片 每次记下纸片上的数字后都将其放回口袋中 如果这 4 个数字的和是m 就是你赢 否 则就是你的朋友赢 你挑战了好几回 结果一次也没赢过 于是
  • 梦幻手游服务器维护摆摊公示时间,梦幻手游5月4日维护公告 摆摊交易优化

    亲爱的玩家朋友 为保证服务器的运行稳定和服务质量 梦幻西游 手游所有服务器将于2016年5月4日8 00停机 进行维护工作 预计维护时间为8 00 9 00 如果在预定时间内无法完成维护内容 开机时间也将继续顺延 请各位玩家相互转告 并提前

随机推荐

  • wm命令详解

    usage wm subcommand options wm size reset WxH WdpxHdp wm density reset DENSITY wm overscan reset LEFT TOP RIGHT BOTTOM w
  • Ubuntu操作系统学习笔记之安装和配置Apache2

    在Ubuntu中安装apache 安装指令 sudo apt get install apache2 安装结束后 产生的启动和停止文件是 etc init d apache2 启动 sudo apache2ctl k start 停止 su
  • C++的sort函数对于vector排序

    对于vector
  • llvm 介绍有用的网站

    LLVM笔记 7 指令的side effect LLVM笔记 7 指令的side effect Five100Miles 博客园 LLVM每日谈之十八 GEP Instruction的几点总结 LLVM每日谈之十八 GEP Instruct
  • 用docker搭建公司内部的gitlab 和 wiki

    docker run name gitlab d link gitlab postgresql postgresql link gitlab redis redisio publish 10022 22 publish 10080 80 e
  • 使用jasypt为springboot配置文件加密

    使用jasypt为配置文件加密 配置项明文可能出现的问题 先看一份典型的配置文件 配置MySQL数据库连接 spring datasource driver class name com mysql jdbc Driver spring d
  • 【为什么】C++中的#pragma once是干什么,和#include guard区别

    一 pragma once是C和C 编程语言中的一个非标准但广泛支持的预处理指令 用于使当前源文件在单次编译中只被包含一次 它与 include guards有相同的作用 但有一些优点 如 代码更少 避免名称冲突 有时可以提高编译速度 代码
  • Nim游戏

    Nim游戏 一共有N堆石子 编号从1到N 第i堆中有a i 个石子 有A和B两个人 依次拿石子 每次可以从任意堆中拿任意数量的石子 至少拿一颗 至多拿着一堆剩下的所有石子 两个人轮流行动 取光所有石子的一方获胜 最后一次拿石子的那一人获胜
  • Go语言切片详解

    文章一 Go语言切片基础 文章二 Go语言切片详解 文章三 Go Go 语言切片 Slice 文章四 Go基础 数组和切片 一个固定长度一个可变长度 文章五 Go语言自学系列 golang切片的初始化 文章六 go语言切片详解 初始化 扩容
  • 通用技术 关于线上监控的思考总结

    前言 近期和大佬们对规划 梳理新财年要做的事情 有非常重要的一项就是线上监控 对于线上监控 大家都最熟悉不过 凡是在生产环境上运行的系统 或多或少都会有监控 但是否有思考过哪些监控是有效的 监控的目的是什么 监控告警出来之后又是怎么的一轮操
  • C实现Unix时间戳和本地时间转化

    我们平常说时间都说的几点几分几秒 星期几 但是在计算机里面并不是直接使用我们所说的时间 而是使用Unix时间戳 这样不管是哪个平台 哪个系统 都可以根据自己对时间的定义进行转换 像Java PHP等都提供了接口来进行转化 C库里面也有这样的
  • MQ如何保证消息不丢失?

    MQ如何保证消息不丢失要从三个方面来考虑 1 生产者 生产者要确保消息投递到MQ服务端 可以使用手动ACK 消息确认机制 认为消息持久化到硬盘 才能够认为生产者投递成功 2 MQ服务端 需要将消息持久化到硬盘 3 消费者 消费者要确保消息消
  • 报错解决:A server error occurred. Please contact the administrator /gbk 9737

    简介 HTML网页显示如题报错 对应python终端显示的是如下错误 解决办法 1 打开报错显示的views debug py 找到如下代码 我这个是已经修改过的 只要找到这段就行 在open 中加入encoding utf 8 如下图 编
  • Linux 下Qt应用程序打包发布方法及踩过的坑

    写这篇文章主要是记录一下自己遇到的问题及解决办法 希望对遇到相同问题的你有所帮助 目的 我需要编写一份可以在服务器上运行的Qt代码 即需要在linux环境下将Qt应用程序打包将其放在服务器上运行 环境 服务器上ubantu版本20 04 1
  • C++中的Date类(日期类)

    C 中Date类用的比较多 所以通过查找参考 自己写了一个比较全面的Date类 直接上代码 头文件 h ifndef DATE H INCLUDED define DATE H INCLUDED include
  • Acticiti中startProcessInstanceByKey方法在variable表中的如何存储

    Acticiti中startProcessInstanceByKey方法在variable表中的如何存储 已知 在使用runtimeService startProcessInstanceByKey String processDefini
  • STM32 进阶教程 14 - 程序加密之FLASH读写保护

    前言 在嵌入式应用开发中 应用开发完成后往往需要对芯片中的程序进行加密处理 用以保护程序安全 不至被竞争对手从芯片把程序固件考走 本节将给大学介绍一个如何实现程序自动给芯片加密功能 学完本节内容 你也可以开发不容易初别人破解的程序了 示例详
  • html 横屏内容显示不全_为什么我的文本显示不全?

    在实际工作中 经常会遇到文本显示不全的情况 比如表格里的文本显示不全等情况 你一般是怎么操作呢 本期与大家分享几种常见的原因 1 Word表格文本显示不全 如下图所示 表格里面的文本显示不全 这时该怎么处理 很多人会进行以下操作 选中表格
  • windows10 使用python(pyhive,impala)连接hive  遇到的问题

    1 socket gaierror Errno 11001 getaddrinfo failed 解决方法 一定不要输入http 另外不要输入密码 conn hive Connection host 12 34 5 20 port 1000
  • 小程序-uni.previewImage实现点击图片放大的预览功能

    uni previewImage是uniapp提供的预览图片的方法 第一种点击盒子图片预览放大效果 1 准备结构