利用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图片预览插件放大图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • elementUi vue el-radio 监听选中变化的实例代码

    elementUi vue el-radio 监听选中变化的实例代码

    这篇文章主要介绍了elementUi vue el-radio 监听选中变化,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Vue使用vue-draggable 插件在不同列表之间拖拽功能

    Vue使用vue-draggable 插件在不同列表之间拖拽功能

    这篇文章主要介绍了使用vue-draggable 插件在不同列表之间拖拽,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • vue-router跳转方式的区别解析

    vue-router跳转方式的区别解析

    在Vue中,router-link称为声明式路由,:to绑定为跳转的目标地址,一种是通过name,另一种是path,这篇文章主要介绍了vue-router跳转方式的区别,需要的朋友可以参考下
    2022-12-12
  • vue如何安装使用Quill富文本编辑器

    vue如何安装使用Quill富文本编辑器

    这篇文章主要为大家详细介绍了vue如何安装使用Quill富文本编辑器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Vue中引入json的三种方式总结

    Vue中引入json的三种方式总结

    这篇文章主要介绍了Vue中引入json的三种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • vue2.x中h函数(createElement)与vue3中的h函数详解

    vue2.x中h函数(createElement)与vue3中的h函数详解

    h函数本质就是createElement(),h函数其实是createVNode的语法糖,返回的就是一个Js普通对象,下面这篇文章主要给大家介绍了关于vue2.x中h函数(createElement)与vue3中h函数的相关资料,需要的朋友可以参考下
    2022-12-12
  • Vue双向绑定详解

    Vue双向绑定详解

    这篇文章主要介绍了Vue 实现双向绑定的四种方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧,希望能够给你带来帮助
    2021-11-11
  • Vuex与Vue router的使用详细讲解

    Vuex与Vue router的使用详细讲解

    在看这篇文章的几点要求:需要你先知道Vuex与Vue-Router是个什么东西,用来解决什么问题,以及它的基本使用。如果你还不懂的话,建议上官网了解下Vuex与Vue-Router的基本使用后再回来看这篇文章
    2022-11-11
  • vue上传项目到git时,如何忽略node_modules文件夹

    vue上传项目到git时,如何忽略node_modules文件夹

    这篇文章主要介绍了vue上传项目到git时,如何忽略node_modules文件夹,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 栽Vue3中传递路由参数的三种方式

    栽Vue3中传递路由参数的三种方式

    vue 路由传参的使用场景一般都是应用在父路由跳转到子路由时,携带参数跳转,传参方式可划分为 params 传参和 query 传参,本文将给大家介绍如何通过不同方式在 Vue 3 中传递路由参数,需要的朋友可以参考下
    2024-07-07

最新评论