[toc]
### 1. 安装v-viewer插件
```
npm install v-viewer --save
```
### 2. 在main.js文件内引入v-viewer
```
import 'viewerjs/dist/viewer.css'
import Viewer from 'v-viewer'
import Vue from 'vue'
Vue.use(Viewer)
```
### 3. 使用v-viewer插件实现图片的预览功能
```
//index.vue
<div class="d-none images" v-viewer>
<img v-for="(src,index) in images" :src="src" :key="index">
</div>
//data里面定义images
images : ["https://tangzhe123-com.oss-cn-shenzhen.aliyuncs.com/Appstatic/qsbk/demo/datapic/1.jpg","https://tangzhe123-com.oss-cn-shenzhen.aliyuncs.com/Appstatic/qsbk/demo/datapic/2.jpg"],
//media-list.vue
<div class="border-bottom px-3 py-2 file-list" @click="clickEvent">
clickEvent(){
this.$emit("on-event",{
type : "image",
url: this.item.url
})
}
//index.vue
case "image" :
const viewer = this.$el.querySelector('.images').$viewer
viewer.show()
break;
```
### 4.判断如果点击的是图片才能调用图片预览方法
```
//media-list.vue
clickEvent(){
if(this.item.type === "image"){
this.$emit("on-event",{
type : "image",
url: this.item.url
})
}
}
```
### 5. 实现点击预览对应的图片
```
//index.vue
//删除原来data里面定义images
computed: {
images(){
let urls = [];
this.list.forEach((item,index)=>{
if(item.type === "image"){
urls.push(item.url)
}
})
return urls;
},
checkList() {
return this.list.filter(item => item.checked)
},
checkedAllStatus() {
return this.checkList.length === this.list.length
},
checkedCount() {
return this.checkList.length
}
},
case "image" :
const viewer = this.$el.querySelector('.images').$viewer
let index =this.images.findIndex(url=>url === e.url)
viewer.view(index)
viewer.show()
break;
```
- 第一章 VUE-CLI+IVIEW进行项目初始化
- 1.1 使用vue-cli4创建项目
- 1.2 引入iview组件库
- 1.3 引入bootstrap4和图标库
- 1.4 安装和配置vue-router
- 第二章 pc端登录页开发
- 2.1 pc端登录页开发(一)
- 2.2 pc端登录页开发(二)
- 2.3 pc端登录页开发(三)
- 第三章 pc端全局布局开发
- 3.1 pc端全局布局开发(一)
- 3.2 pc端全局布局开发(二) 顶部导航
- 第四章 pc端侧边栏开发
- 4.1 pc端侧边栏开发(一) 菜单
- 4.2 pc端侧边栏开发(二) 容量提示
- 第五章 pc端文件列表开发
- 5.1 pc端文件列表开发(一) 操作条
- 5.2 pc端文件列表开发(二) 列表(1)
- 5.3 pc端文件列表开发(三) 列表(2)
- 第六章 封装多功能文件列表组件
- 6.1 封装文件列表组件(一)
- 6.2 封装文件列表组件(二) 删除
- 6.3 封装文件列表组件(三) 多选操作
- 6.4 封装文件列表组件(四) 重命名
- 6.5 封装文件列表组件(五) 图片预览
- 第七章 前端数据交互开发
- 7.1 pc端交互-引入axios和vuex
- 7.2 pc端交互-注册登录
- 7.3 pc端交互-初始化和退出登录
- 7.4 pc端交互-拦截器完善
- 7.5 权限验证
- 7.6 pc端交互-获取文件列表
- 7.7 pc端交互-创建文件夹
- 7.8 上传文件
- 7.9 pc端交互-文件重命名
- 7.10 pc端交互-批量删除
- 7.11 pc端交互-搜索文件
- 7.12 pc端交互-切换目录
- 7.13 pc端交互-优化体验和筛选类型
- 7.14 pc端交互-下载文件
- 7.15 pc端交互-生成分享链接
- 7.16 pc端交互-我的分享列表
- 7.17 pc端交互-查看分享
- 7.18 pc端交互-保存我的网盘
- 第八章 项目打包与部署
- 8.1 部署前环境搭建
- 8.2 部署pc端部分