uniapp 小程序 图片放大预览

小程序单张uni-app图片预览

uni.previewImage({
    urls: ["/static/images/a.png"], 
        //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
    current: '', // 当前显示图片的http链接,默认是第一个
	success: function(res) {},
	fail: function(res) {},
	complete: function(res) {},
})

小程序多张图片预览

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

<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>

使用uni.previewImage需要注意的问题

 uni.previewImage在在关闭的时候,会去调用onshow(){}这个生命周期
所以如果onshow中有接口调用的时候,需要注意一下;是否会产生数据的堆叠

noexebshowFalg:true, //控制是否会触发生命周期

data(){
    return{
        noexebshowFalg:true, //控制是否会触发生命周期
    }
}

onShow() {
  if(this.noexebshowFalg){
      this.classTeacherSubjectList_api();
    }
},

// 全屏
screenallView(imgcont, index){
	this.noexebshowFalg=false;//不允许再次触发onshow这个声明周期
	uni.previewImage({
	   current:index,
	   urls: imgcont.map(v=>v.key),//['你的图片地址']
	});
},

注意 :urls的路径只能是线上路径(https)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值