第一种:viewerjs使用介绍(PC、移动端都兼容)

1、先安装依赖

npm install v-viewer --save

2、main.js内引用并注册调用

//main.js
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" }
});

3、代码中使用xxx.vue

<template>
<div class="content">
<viewer :images="imgs">
<img v-for="src in imgs" :src="src.url" :key="src.title">
</viewer>
</div>
</template>
<script>
export default {
data () {
return {
imgs: [
{
url: '../../static/image/aze.jpg',
title: '阿泽'
},
{
url: 'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3564877025,796183547&fm=27&gp=0.jpg',
title: '图片2'
}
]
}
},

  methods: {

  pass(){

    var _this = this;

    $.ajax({
      url: "https://zxc.cn/upload/Photo",
      type: "POST",
      data: formData,
      contentType: false,
      processData: false,
      mimeType: "multipart/form-data",
      success: function (res) {
        layer.msg('更新头像'+str+'成功');
        _this.img[0].url = 'https://cxz.cn/nodeJs/photo/' + str;
        _this.img[0].title = str;
      })

  }
}
</script>

注:请求数据成功更改图片路径,像本例子是数组,直接传个对象或者push给他,他数组虽然变了,但是他div绑定的值不会变化,所以我只好对数组的第一个的url、title属性分别赋值,div那绑定的图片数组就会发生改变

但是上面这样写有个缺陷:动态修改图片路径失效,比如我存在数据库的一张图片,然后在创建时(created)想读数据库拿到照片替换以前的照片,发现插件失效,无法放大,所以v-viewer动态改变失效,网上说new Viewer实例然后update更新一下,但是我new Viewer就报错了,感觉是版本关系,但删除版本重新下载个1.2.0还是报错,于是寻找别的解决方案如下:

 <div class="images" id="abcd" v-viewer> <img :src="photo"> </div> 

photo: '../../static/image/aze.jpg',

直接在div上添加v-viewer然后里面包住img,然后修改photo图片的路径就可以解决动态修改图片插件失效

网上还说要用数组来遍历,现在直接放一个字符串即可,因为我只有一张,若多张请采用数组遍历

v-viewer数组循环图片:https://segmentfault.com/a/1190000016584946

上面的v-viewer本博主用的很不错,当然还有其他插件大家也可以去尝试一下

适用于移动端 的图片预览插件 vue-photo-preview

vue2-preview:https://www.jianshu.com/p/37ff607ad2b4

借鉴:https://www.jianshu.com/p/e3350aa1b0d0

vue图片点击放大预览的更多相关文章

  1. 微信小程序图片上传放大预览删除代码

    效果: 一,下面是上传图片的效果 image.js代码: Page({ //选择相册或拍照 data: { imgs: [] }, //上传图片 chooseImg: function (e) { v ...

  2. vue图片点击放大功能

    因项目需求(ui框架element-ui),需要实现图片的点击放大,还要能旋转以及上下切换.当时第一反应,element-ui好像没有这样的组件,就想过自己写,但是那个旋转翻页上下切换感觉有点麻烦,不 ...

  3. 一款基于jQuery可放大预览的图片滑块插件

    今天给大家分享一款基于jQuery可放大预览的图片滑块插件.这款jQuery焦点图插件的特点是可以横向左右滑动图片,并且点击图片可以进行放大预览,唯一的缺陷是这款焦点图并不能循环切换,如果你有较好的J ...

  4. 微信小程序点击图片放大预览

    微信小程序点击图片放大预览使用到 wx.previewImage 接口,可以放大.上/下一张 上代码 wxml代码 <view class='content-img' wx:if="{ ...

  5. jQuery Lightbox图片放大预览

    简介:jQuery Lightbox图片放大预览代码是一款可以在用户点击页面中的小图片时,将该图片的高清版本以Lightbox的方式放大显示在页面的中间,提高用户的体验度. 效果展示 http://h ...

  6. 微信小程序图片放大预览

    需求:当点击图片时,当前图片放大预览,且可以左右滑动 实现方式:使用微信小程序图片预览接口 我们可以看到api需要两个参数,分别通过下面的data-list和data-src来传到js中 wxml代码 ...

  7. layui 实现图片上传和预览

    [学习笔记] 图片不自动上传并在表单提交时再上传,看代码. 附上表单页面 前台实现 <#--图片名--><input id="fileName" type=&qu ...

  8. DevExpress控件使用系列--ASPxUploadControl(图片上传及预览)

        1.控件功能     列表控件展示数据.弹框控件执行编辑操作.Tab控件实现多标签编辑操官方说明 2.官方示例       2.1 ASPxImage                http: ...

  9. 项目总结07:JS图片的上传预览和表单提交(FileReader()方法)

    JS图片的上传预览和表单提交(FileReader()方法) 一开始没有搞明白下面这块代码的,今天有时间简单整理下 核心点:FileReader()方法 以下是代码(以JSP文件为例) <!DO ...

随机推荐

  1. SpringBoot系列__01HelloWorld

    接触SpringBoot很久了,但是一直没有很深入的研究一下源码,最近重启了博客,顺便开始深入研究一下技术. 1.简介 参照官方文档的说法,SpringBoot的设计理念就是为了简化Java程序员搭建 ...

  2. c语言文件的基本操作

    c语言对文件的操作主要分为:按字符操作,按行操作,按内存块操作 主要的函数: fopen(): FILE * fopen(_In_z_ const char * _Filename, _In_z_ c ...

  3. Storm 系列(六)—— Storm 项目三种打包方式对比分析

    一.简介 在将 Storm Topology 提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任 ...

  4. SpringBoot中获取微信用户信息从未如此简单!

    前言 不知道你是否参加过拼多多上邀请微信好友砍价功能,这个功能实现首先需要考虑的就是获取微信用户的信息.获取用户信息就是获取公众号下微信用户的信息,今天我就来讲讲如何从公众号下获取微信用户信息. 需要 ...

  5. .Net基础篇_学习笔记_第四天_加加减减

    using System.Linq; using System.Text; using System.Threading.Tasks; namespace 第四天_加加减减 { class Progr ...

  6. Visual Studio Code 安装美化合集

    这是一个关于VSCode编辑器的各种配置. 你可以在这里找到VSCode 的各种操作,如果这里找不到,请移步官方文档C++ programming with Visual Studio Code以及各 ...

  7. HTML连载38-内边距属性、外边距属性

    一.内边距属性 1.定义:边框和内容之间的距离就是内边距 2.分开写 padding-top:数字px: padding-left:数字px: padding-bottom:数字px: padding ...

  8. Tomcat部署spring boot项目

    Tomcat部署spring boot项目   需要在启动类做修改

  9. spring字符编码filter

    项目中的字符编码问题,spring提供统一的字符处理filter,只需要在项目入口web.xml中配置CharacterEncodingFilter即可,具体配置如下: <!-- 配置过滤器,同 ...

  10. 浅谈HDFS(二)之NameNode与SecondaryNameNode

    NN与2NN工作机制 思考:NameNode中的元数据是存储在哪里的? 假设存储在NameNode节点的硬盘中,因为经常需要随机访问和响应客户请求,必然效率太低,所以是存储在内存中的 但是,如果存储在 ...