uniapp选择图片及图片预览的实现

一、uniapp选择图片及图片预览的实现

  • uni.chooseImage(OBJECT) 选择图片
  • uni.previewImage(OBJECT) 图片预览

1、具体实现代码如下

  • getImg事件选择图片
  • lookImg事件预览图片
<template>
	<view>
		<button type="default" @click="getImg">选择图片</button>
		<view v-for="(item,index) in imgArr" :key="index">
			<image :src="item" @click="lookImg(index)"></image>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				imgArr: []
			};
		},
		methods: {
			getImg: function() {
				uni.chooseImage({
					count: 9,
					// sizeType压缩图片
					sizeType: "compressed",
					success: (res) => {
						this.imgArr = res.tempFilePaths
					}
				})
			},
			lookImg: function(val) {
				const urls = this.imgArr
				const current = val
				uni.previewImage({
					urls,
					current
				})
			}
		}
	}
</script>

UniApp是一个基于Vue.js的跨平台框架,用于构建原生应用。要在UniApp实现一个可以关闭的广告图片弹出,你可以使用它的组件系统和事件处理机制。以下是一个简单的步骤: 1. 首先,创建一个新的页面或者自定义组件,比如`AdModal.vue`,这是广告弹出框的结构: ```html <template> <view class="ad-modal"> <image :src="adsImage" @tap="closeAd" /> <button slot="bottom" @click="closeAd">关闭</button> </view> </template> <script> export default { data() { return { adsImage: 'path/to/ad.jpg', // 广告图片URL }; }, methods: { closeAd() { this.$emit('close-ad'); // 当用户点击关闭按钮时,发送一个自定义事件关闭弹窗 } } }; </script> <style scoped> .ad-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 70%; // 根据需要调整尺寸 } </style> ``` 2. 然后,在父组件(如App.vue)中引入并管理这个广告组件,并监听关闭事件: ```html <template> <uni-app> <transition-group tag="page"> <router-view :key="$route.path"></router-view> </transition-group> <ad-modal v-if="showAd" @close-ad="hideAd" /> <!-- 显示广告组件 --> </uni-app> </template> <script> import AdModal from '@/components/AdModal.vue'; export default { components: { AdModal }, data() { return { showAd: false, // 控制广告是否显示 }; }, methods: { hideAd() { this.showAd = false; // 接收并处理关闭事件,隐藏广告 }, }, // ...其他路由配置等 }; </script> ``` 在这个例子中,当你需要展示广告时设置`showAd`为`true`,用户点击关闭按钮或外部区域时,会触发`close-ad`事件,然后在父组件中关闭广告。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值