vue2/vue3实现图片预览

news/2024/11/14 13:08:06 标签: vue.js, 前端, javascript

在现代前端开发中,图片预览是一个常见的需求,尤其是在电商网站、社交平台等场景下。用户点击图片时,希望能够展示一张大图并支持放大、缩小、滚动等交互功能。今天,我们将介绍如何在 Vue 中实现一个简洁高效的图片预览功能,核心使用 v-viewer 和底层的 Viewer.js

1. 什么是 v-viewer?

v-viewer 是一个基于 Viewer.js 的 Vue 图片查看器插件,提供了便捷的 API 和 Vue 组件封装,能够快速实现图片预览功能。Viewer.js 是一个轻量级、易于集成的图片查看器,支持图片放大、缩小、旋转等功能。

2. 安装 v-viewer

首先,我们需要安装 v-viewer。使用 npm 可以方便地安装这个包:

javascript">npm install v-viewer@next viewerjs
3. 在 Vue 项目中使用 v-viewer
3.1. 引入 v-viewer

在你的 Vue 项目中,引入 v-viewer 并进行全局注册:

javascript">import { createApp } from 'vue'
import App from './App.vue'
import 'viewerjs/dist/viewer.css'
import VueViewer from 'v-viewer'
const app = createApp(App)
app.use(VueViewer)
app.mount('#app')
3.2. 在组件中使用

在你的组件中,可以直接使用 v-viewer 提供的指令来实现图片预览功能。通过 v-viewer 指令,你可以标记需要预览的图片元素。

javascript"><template>
  <div>
    <!-- 指令方式调用-->
    <div class="images" v-viewer>
      <img v-for="src in images" :key="src" :src="src">
    </div>
    <!-- 组件方式调用-->
    <viewer :images="images">
      <img v-for="src in images" :key="src" :src="src">
    </viewer>
    <!-- api方式调用 -->
    <button type="button" @click="show">Click to show</button>
  </div>
</template>
<script lang="ts">
  import { defineComponent } from 'vue'
  export default defineComponent({
    data() {
      return {
        images: [
          "https://picsum.photos/200/200",
          "https://picsum.photos/300/200",
          "https://picsum.photos/250/200"
        ]
      };
    },
    methods: {
      show() {
        this.$viewerApi({
          images: this.images,
        })
      },
    },
  })
</script>

 参看文献:https://mirari.cc/posts/vue3-viewer#viewer%25E7%259A%2584%25E9%2585%258D%25E7%25BD%25AE%25E9%25A1%25B9-%25E6%2596%25B9%25E6%25B3%2595


http://www.niftyadmin.cn/n/5751933.html

相关文章

scrapy爬取彼岸桌面

彼岸壁纸 电脑壁纸 高清桌面壁纸图片大全 彼岸桌面 import scrapyclass ByTheWallSpiderSpider(scrapy.Spider):name 彼岸壁纸_spiderallowed_domains [netbian.com]start_urls [http://www.netbian.com/]def parse(self, response):# 提取图片链接li_list response.css(d…

Springboot maven常见依赖、配置文件笔记

pom.xml文件 一、<parent> 在Maven项目中&#xff0c;pom.xml 文件中的 <parent> 元素用于定义父项目的坐标。使用 <parent> 可以实现继承机制&#xff0c;子项目可以从父项目继承配置信息&#xff0c;比如依赖管理、插件配置等。这样可以避免在多个子项目…

重构代码之拆分临时变量

在代码重构中&#xff0c;拆分临时变量是一种用于提升代码可读性、简化维护性的重构技术。它的主要目的是&#xff1a;当一个临时变量被赋值多次且在不同语境中承载不同含义时&#xff0c;将其拆分为多个有特定含义的变量。这样可以减少混淆&#xff0c;使代码更加清晰明了。 …

【大语言模型学习】LORA微调方法

LORA: Low-Rank Adaptation of Large Language Models 摘要 LoRA (Low-Rank Adaptation) 提出了一种高效的语言模型适应方法,针对预训练模型的适配问题: 目标:减少下游任务所需的可训练参数,降低硬件要求。方法:冻结预训练模型权重,注入低秩分解矩阵,从而在不影响推理…

腾讯云服务器到期网站迁移到新服务器参考指南

迁移woniunote的数据库 先从旧的服务器上mysql中导出来woniunote的数据库 使用下面的代码,更换自己的username,databasename为woniunote的数据库名,enter之后输入密码,导出数据库到本地文件outputfile.sql mysqldump -u username -p database_name > output_file.sql …

定时任务进行简单监控、爬虫的自动化之旅

原文链接&#xff1a;「定时任务」进阶指南&#xff1a;监控、爬虫的自动化之旅

【Rust调用Windows API】获取正在运行的全部进程信息

前言 WIndows API官方文档 提供了C的调用示例&#xff0c;最近想尝试用Rust去实现&#xff0c;本系列博客记录一下实现过程。 依赖 Rust调用Windows API需要引入依赖winapi&#xff0c;在Cargo.toml中添加依赖 winapi "0.3.9"调用不同的API集就需要使用相应的功…

odoo17 前端 在头像下拉 dropdown 自定义菜单

odoo17 前端 在头像下拉 dropdown 自定义菜单 其实很简单, 我们先找到原来已经创建好的, 找到代码位置 使用 我的资料 为例 odoo-17.0\addons\hr\static\src\user_menu\my_profile.js /** odoo-module **/import { _t } from "web/core/l10n/translation"; import …