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

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.实现效果:

  •  

     

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值