每周一推NPM包-第四弹
前言
为了不让自己的空余时间都浪费掉,打算做一个每周一推的专栏,盘点一些好的插件,分享给大家,每次分享前会先发到自己的博客,可以在博客中抢先看哦🎈。
v-viewer
我们在做后台项目的时候会涉及到图片的放大🖼,已经有很多成熟的组件提供了这些功能比如element-ui
下的image
组件,但是如果我们需要单独使用图片放大的功能🎡,还需要安装element-ui
就有些小题大作了,🎭还有的同学使用dialog
的方式来放大的图片这种只能实现单纯的放大图片🎨,但是无法实现图片翻转,缩小等等功能,于是就需要使用v-viewer
来实现🥽。
这款组件支持Vue图片浏览组件
v-viewer
,支持旋转、缩放、翻转等操作,用法也非常简单🎈。
用法
- 安装
1
npm install v-viewer
- 用法
1
2
3
4// main.js
import 'viewerjs/dist/viewer.css'
import VueViewer from 'v-viewer'
Vue.use(VueViewer)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35<!-- template -->
<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>
export default {
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>小tips
通过这个网站可以设置随机图picsum满足我们写
demo
的需要🎈。
这样就通过三种方式实现了图片的放大具体的效果如下🎉。
指令方式[绑定option]
inline
- 默认值:
false
- true:默认放大并且在图片内部展示,false: 需要手动点击方法在图片外部展示
- 默认值:
button
- 默认值:
true
- 是否展示右上角关闭按钮
- 默认值:
navbar
- 默认值:
true
- 是否展示下方导航
- 默认值:
title
- 默认值:
true
- 是否在下方显示图片alt信息
- 默认值:
toolbar
- 默认:
true
- 是否展示下方工具栏
- 默认:
movable
- 默认:
true
- 放大图片是否可移动
- 默认:
zoomable
- 默认值:
true
- 是否可放大缩小图片
- 默认值:
tooltip
- 默认值:
true
- 放大过程中是否展示放大比例
- 默认值:
rotatable
- 默认值:
true
- 是否有旋转功能
- 默认值:
scalable
- 默认值:
true
- 是否有放大缩小功能
- 默认值:
fullscreen
- 默认值:
true
- 是否有全屏功能
- 默认值:
transition
- 默认值:
true
- 图片放大的过程中是否有放大效果
- 默认值:
keyboard
- 默认值:
true
- 是否支持键盘上下左右剪头操作
- 默认值:
拿一个举例
1 |
|
组件方式
组件方式中的
option
与指令方式的option
是相同的属性,可以在option
中动态配置。
1 |
|
api方式(该方式不太常用)
1 |
|
通过外部按钮操作图片
1 |
|
更多案例可以查看v-viewer点击
source
查看对应源码🤗
注意事项
- 如果使用vue3可以使用该组件v-viewer-vue3
往期NPM包
timeago.js
vue-seamless-scroll
circlr
总结
v-viewer
的功能是比较全的一款插件主要是根据图片放大的拓展,好用!🎈。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!谢谢