# vue-easy-lightbox > 基于Vue.js 3.0 与 TypeScript 构建的图片阅览插件, 提供了旋转、放大、拖拽功能。可自定义各种功能。 [](https://www.npmjs.com/package/vue-easy-lightbox) [](https://www.npmjs.com/package/vue-easy-lightbox) [](https://www.npmjs.com/package/vue-easy-lightbox) 简体中文 | [English](https://github.com/XiongAmao/vue-easy-lightbox) | [Homepage](https://xiongamao.github.io/vue-easy-lightbox/) > `Vue-easy-lightbox@1.x` 只支持Vue.js 3, 如果你需要使用Vue.js 2版本,请点击[这里](https://github.com/XiongAmao/vue-easy-lightbox/tree/vue2.x)查看. ## 安装 ### 包管理器 ```shell $ npm install --save vue-easy-lightbox@next # OR $ yarn add vue-easy-lightbox@next ``` ### 直接下载 在html中直接引入CDN链接文件。 ```html ``` ### 不同构建版本的区别 由于 `Vue 3.x` 使用 `ES2015` ([docs faq](https://staging-cn.vuejs.org/about/faq.html#what-browsers-does-vue-support)), 不再需要构建`ES5`版本,`1.6.0`版本开始不再提供`ES5`构建包.
| Module | Filename |
|---|---|
| UMD(for browsers) | vue-easy-lightbox.umd.min.js |
| CommonJS | vue-easy-lightbox.common.min.js (pkg.main) |
| ES Module(for bundlers) | vue-easy-lightbox.esm.min.js (pkg.module) |
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| visible | Boolean | required | 控制组件的显示 |
| imgs | String/String[]/ImgObject:{ src: string, title?: string, alt?: string }/ImgObject[] | required | 图片的src字符串或图片对象(地址和标题) { src, title?, alt? },传入数组则可以轮播显示 |
| index | Number | 0 | 打开图片组时,展示索引位置的图片 |
| loop | Boolean | false | 允许循环切换图片 |
| scrollDisabled (scroll-disabled) | Boolean | true | 传true时,禁用背景滚动 |
| escDisabled (esc-disabled) | Boolean | false | 默认情况下,展示时按下esc键关闭Modal |
| moveDisabled (move-disabled) | Boolean | false | 传true时,禁用拖动图片功能,并启用swipe功能 |
| rotateDisabled (rotate-disabled) | Boolean | false | 传true时,禁用图片旋转功能 |
| zoomDisabled (zoom-disabled) | Boolean | false | 传true时,禁用图片缩放功能 |
| pinchDisabled (pinch-disabled) | Boolean | false | 传true时,禁用双指触摸缩放功能 |
| maskClosable (mask-closable) | Boolean | true | 控制点击蒙板关闭预览. |
| dblclickDisabled (dblclick-closable) | Boolean | false | 控制双击缩放功能. |
| teleport | string | Element | - | 指定挂载的节点 |
| swipeTolerance (swipe-tolerance) | Number | 50 | 指定swipe距离,单位为px |
| zoomScale | Number | 0.12 | 指定缩放步进的比例 |
| maxZoom | Number | 3 | 指定图片最大缩放比例 |
| minZoom | Number | 0.1 | 指定图片最小缩放比例. |
| rtl | Boolean | false | 指定RTL布局 |
| 事件名 | 说明 | 返回值 |
|---|---|---|
| hide | 当点击遮罩或者关闭按钮时,会触发该事件 | - |
| on-error | 图片加载错误,触发error事件 | event (event.target 不是实际展示的图片) |
| on-prev / on-prev-click |
切换上一张图片时触发 | (oldIndex, newIndex) |
| on-next / on-next-click |
切换下一张图片时触发 | (oldIndex, newIndex) |
| on-index-change | 当图片索引被改变时触发,比如点击或更改传给组件index | (oldIndex, newIndex) |
| on-rotate | 当图片旋转时触发事件 | deg: number (顺时针角度) |
| 名称 | slot props | slot props 类型 | 说明 |
|---|---|---|---|
| prev-btn | prev | Function | 当点击时显示上一页 |
| next-btn | next | Function | 当点击时显示下一页 |
| close-btn | close | Function | 当点击时关闭弹窗 |
| toolbar | toolbarMethods: { zoomIn, zoomOut, rotate(rotateLeft), rotateLeft, rotateRight } | { Function } | 放大、缩小、逆时针/顺时针旋转 |
| loading | - | - | 加载图标 |
| onerror | - | - | 图片加载错误占位图 |