利用v-viewer图片预览插件放大需要预览的图片

 更新时间:2024年10月12日 10:46:16   作者:临渊~羡鱼  
本文介绍了v-viewer插件的安装和使用步骤,包括npm安装、在main.js文件中全局引入,以及常用的三种使用方式,文章提供了简单的布局页面效果,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、页面效果

更多内容和效果在官网地址查看,官网地址:v-viewer

二、使用步骤

1.npm安装

npm install v-viewer@1.6.4

2.main.js文件中全局引入v-viewer插件

代码如下:

import Viewer from 'v-viewer'
Vue.use(Viewer)
Viewer.setDefaults({
    Options: { 'inline': true, 'button': true, 'navbar': true, 'title': true, 'toolbar': true, 'tooltip': true, 'movable': true, 'zoomable': true, 'rotatable': true, 'scalable': true, 'transition': true, 'fullscreen': true, 'keyboard': true, 'url': 'data-source' }
})

3.完整代码

我这里写了常用的三种使用方式,页面效果我只是简单的布局,不要在意这个小细节,下面是代码:

<template>
  <div>
<!--    第一种方式-->
    <div style="width: 100%;height: 300px;margin-top:100px;display:flex;justify-content: center">
      <viewer :images="photo">
        <img
            v-for="(src, index) in photo"
            :src="src"
            :key="index"
            style="width: 200px;height: 300px;margin-left: 10px"
        />
      </viewer>
    </div>
<!--    第二种方式-->
    <img
        src="https://inews.gtimg.com/om_bt/OtJhl6_zArzI6BSdVjGLfKGObnrm36gW47dFuaxSOmT7YAA/1000"
        style="width: 300px;height: 200px;margin: 100px auto;display: block"
        v-viewer alt=""
    />
<!--    第三种方式-->
    <button style="margin: 100px auto;display: block" type="button" class="button" @click="previewURL">点击展示图片</button>
  </div>
</template>

<script>
export default {
  name: "test",
  data(){
    return{
      photo:[
          'https://wxls-cms.oss-cn-hangzhou.aliyuncs.com/online/2024-04-18/218da022-f4bf-456a-99af-5cb8e157f7b8.jpg',
          'https://inews.gtimg.com/om_bt/O6SG7dHjdG0kWNyWz6WPo2_3v6A6eAC9ThTazwlKPO1qMAA/641'
      ]
    }
  },
  methods:{
    previewURL(){
      const $viewer = this.$viewerApi({
        images: this.photo
      })
    },
  }
}
</script>

<style scoped>

</style>

附:新手使用注意事项及解决方案

1. 安装和引入问题

问题描述:新手在安装 v-viewer 时,可能会遇到依赖包未正确安装或引入失败的问题。

解决步骤

  • 安装依赖:确保通过 npm 或 yarn 正确安装 v-viewer 和 viewer.js。
    npm install v-viewer viewerjs
    
  • 引入组件:在 Vue 项目的主文件(如 main.js)中引入 v-viewer 和 viewer.js 的 CSS 文件。
    import Vue from 'vue';
    import App from './App.vue';
    import 'viewerjs/dist/viewer.css';
    import VueViewer from 'v-viewer';
    
    Vue.use(VueViewer);
    
    new Vue({
      render: h => h(App),
    }).$mount('#app');
    

2. 图片加载失败

问题描述:在使用 v-viewer 时,图片可能无法正确加载,导致无法浏览。

解决步骤

  • 检查图片路径:确保图片的路径正确,图片文件存在且可访问。
  • 使用绝对路径:如果图片路径是相对路径,尝试使用绝对路径或确保路径在项目中是正确的。
    <div class="images" v-viewer>
      <img v-for="src in images" :key="src" :src="src">
    </div>
    
  • 调试网络请求:使用浏览器的开发者工具检查网络请求,确保图片请求没有被阻止或返回错误。

3. 自定义工具栏和事件处理

问题描述:新手可能希望自定义 v-viewer 的工具栏或处理特定事件,但不知道如何实现。

解决步骤

  • 自定义工具栏:通过传递 options 参数来自定义工具栏。
    <viewer :options="viewerOptions">
      <img v-for="src in images" :key="src" :src="src">
    </viewer>
    
    data() {
      return {
        viewerOptions: {
          toolbar: {
            zoomIn: 4,
            zoomOut: 4,
            oneToOne: 4,
            reset: 4,
            prev: 4,
            next: 4,
            rotateLeft: 4,
            rotateRight: 4,
            flipHorizontal: 4,
            flipVertical: 4,
          },
        },
      };
    },
    
  • 事件处理:通过监听 v-viewer 的事件来处理特定操作。
    <viewer @inited="handleViewerInited">
      <img v-for="src in images" :key="src" :src="src">
    </viewer>
    
    methods: {
      handleViewerInited(viewer) {
        this.$viewer = viewer;
      },
    },
    

通过以上步骤,新手可以更好地理解和使用 v-viewer 项目,解决常见问题。

总结 

到此这篇关于利用v-viewer图片预览插件放大需要预览的图片的文章就介绍到这了,更多相关v-viewer图片预览插件放大图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何使用el-cascader组件写下拉级联多选及全选功能

    如何使用el-cascader组件写下拉级联多选及全选功能

    这篇文章主要介绍了如何使用el-cascader组件写下拉级联多选及全选功能,因为是有全选的功能,所以不能直接使用el-cascader组件, 而是选择使用el-select组件, 在此组件内部使用el-cascader-panel级联面板,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • Vue导出页面为PDF格式的实现思路

    Vue导出页面为PDF格式的实现思路

    这篇文章主要介绍了Vue导出页面为PDF格式的实现思路,其实思路也很简单,就是将页面转换成图片格式.然后通过图片的base64码.生成PDF..感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-07-07
  • vue2.0实现点击其他区域关闭自定义div功能

    vue2.0实现点击其他区域关闭自定义div功能

    这篇文章主要介绍了vue2.0实现点击其他区域关闭自定义div功能实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • 在vue项目如何使用base64加密

    在vue项目如何使用base64加密

    这篇文章主要介绍了在vue项目如何使用base64加密,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • pm2部署vue的实现步骤

    pm2部署vue的实现步骤

    本文主要介绍了使用PM2运行Vue项目的具体步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • vue中关于$emit和$on的使用及说明

    vue中关于$emit和$on的使用及说明

    这篇文章主要介绍了vue中关于$emit和$on的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue.js body的css不生效问题及解决

    vue.js body的css不生效问题及解决

    这篇文章主要介绍了vue.js body的css不生效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Vue前端项目部署IIS的实现

    Vue前端项目部署IIS的实现

    这篇文章主要介绍了Vue前端项目部署IIS的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Element的Message弹窗重复弹出问题解决

    Element的Message弹窗重复弹出问题解决

    本文主要介绍了Element的Message弹窗重复弹出,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • vue3 setup点击跳转页面的实现示例

    vue3 setup点击跳转页面的实现示例

    本文主要介绍了vue3 setup点击跳转页面的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10

最新评论