vue移动端图片预览组件

更新说明:1.02版本采用show属性值控制组件的显示与隐藏,不再使用v-if!!

安装:npm install -s w-previewimg 或 yarn add w-previewimg

在线预览地址: https://wenyuming.github.io/w-demos/dist/index.html#/previewimgDemo

预览时请按f12,在移动端模式下预览

由于预览网址带宽比较低,加载图片会比较慢,等图片都加载完才能完整体验,耐心等一下哦。

操作说明:左滑右滑切换图片,单击预览图片关闭预览,此插件只使用于移动端。

效果图:

效果图

html部分:

<template>
	<div style="text-align:center">
		<div v-for="i in imgs" style="width:100px;height:100px;display:inline-block;margin-left:10px;margin-top:10px">
        <img :src="i" alt="" style="display:inline-block;width:100%;height:100%" @click="showBigImg(i)">
    </div>
    <wimg :show="isShowBigImg" :imgs="imgs" :currentImg="current" @close="isShowBigImg = false"></wimg>
	</div>
</template>

js部分:

<script>
import wimg from 'w-previewimg'
  export default {
    components: {
      wimg
    },
	data () {
      return {
        isShowBigImg: false,
        current: '',
        imgs: [require('../assets/img/test1.jpg'),require('../assets/img/test2.jpg'),require('../assets/img/test3.jpg'),require('../assets/img/test4.jpg'),require('../assets/img/test5.jpg'),require('../assets/img/test6.jpg')]
      }
	},
	methods: {
      showBigImg (i) {
        this.current = i
        this.isShowBigImg = true
      }
    }
  }
</script>

 

属性说明 

属性名数据类型描述
imgsArray预览图片路径数组,必填,如:[url,url,url],请遵循格式要求
currentImgString当前预览图片路径,必填
showBoolean在父组件给一个布尔变量控制组件的显示与隐藏,必填

事件说明

事件参数描述
close单击预览图片触发,结合父组件的某个变量,控制预览插件的隐藏与显示

      希望这个组件能给大家带来帮助,另外使用过程中有遇到问题的话,可以留言反馈,或者直接微信qq联系我!

### 实现 Vue 移动端页面预览功能 对于 Vue 移动端应用而言,实现 PDF 文件和其他媒体类型的预览可以采用不同的方法和技术栈组合来完成。 #### 使用 pdf.js 和 iframe 预览 PDF 文件 为了实现在移动设备上的PDF文件预览,推荐使用 `pdf.js` 结合 `<iframe>` 标签的方式。这种方式不仅适用于纯Web项目也适合嵌入到APP中的H5页面里[^1]: ```html <template> <div id="app"> <!-- 定义一个容器用于放置Iframe --> <iframe :src="pdfUrl" width="100%" height="800px"></iframe> </div> </template> <script> export default { data() { return { // 设置要加载的PDF文档URL路径 pdfUrl: 'https://path-to-your-pdf-file.pdf' } }, } </script> ``` 需要注意的是,在实际部署环境中应当确保服务器配置允许跨域资源共享(CORS),以便能够正常访问远程资源并渲染PDF内容。 #### 利用 v-viewer 组件库展示图片 如果目标是在Vue移动端应用程序内提供丰富的图像浏览体验,则可以选择集成 `v-viewer` 插件。此插件基于 ViewerJS 构建,并提供了多种实用的功能选项,如缩放、旋转等操作[^3]: ```javascript import { createApp } from "vue"; import App from "./App.vue"; // 导入 viewerjs 及样式表 import Viewer from 'v-viewer'; import 'viewerjs/dist/viewer.css'; const app = createApp(App); app.use(Viewer, /* options */); new app.mount("#app"); ``` 通过上述设置之后便可以在模板中轻松调用该组件来进行高质量的大图查看了: ```html <template> <img src="/static/path/to/image.jpg" alt="" class="image-preview"/> </template> <style scoped lang='scss'> .image-preview{ cursor: zoom-in; } </style> ``` 最后记得给这些元素绑定点击事件触发Viewer实例化即可获得完整的交互能力。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值