v-viewer
基于vue的一个插件,可以实现图片放大,缩小,旋转,拖拽,预览等各种功能,效果还是很棒的。这是我在Github摸鱼时发现的一个仓库,感觉很有用,就分享一下使用过程。
Github: https://github.com/mirari/v-viewer
npm install v-viewer
在 plugins
中新建 viewer.js
文件。
// /plugins/viewer.js
import Vue from 'vue';
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
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' }
})
然后再 nuxt.config.js
中引入。
// nuxt.config.js
plugins: [
// ...
{ src: '@/plugins/viewer', ssr: false }
],
最后在使用的页面中引入。
<div class="markdown-body-box" v-viewer v-highlight>
<!-- 页面内容 -->
</div>
在任意页面中引入,可以是一个小组件页面,也可以是根页面,取决于你想在哪里引入这个功能,只要将class
, v-viewer
, v-highlight
这三个参数引入即可。