一、
vant的图片预览
运用详解:
在组件里引用

import { ImagePreview } from 'vant';
<div class="img_box" v-for='(item2,index) of item.images' :key='index'><img :src="item2" alt="" @click="getImg(item.images,index)">
</div>
//图片预览,通过传参的方式把图片数组放入ImagePreview配置对象里
methods:{getImg(images,index){ImagePreview({images:images,showIndex:true,loop:false,startPosition:index})},

二、
vant 预览图片的组件没有详细告诉我们碰到安卓键返回的时候该怎么处理,正常情况:预览图缩小,还在该页面;实际情况:预览图缩小,页面回退
处理:
1.

getImg(images,index){ImagePreview({images:images,showIndex:true,loop:false,startPosition:index,closeOnPopstate:true//首先加上这个属性:是否在页面回退时自动关闭,设置为true})}

2.在beforeRouteLeave路由离开之前,判断预览是否是隐藏的,是让他执行路由跳转,否让不跳转(不过这种方法适用于非首页)

beforeRouteLeave (to, from, next) {if(($('.van-image-preview').css('display')=='none' && $('.van-image-preview__overlay').css('display')=='none') || ($('.van-image-preview').css('display')==undefined && $('.van-image-preview__overlay').css('display')==undefined)){next(true);this.scrollTop = document.documentElement.scrollTop || document.body.scrollTop;}else{next(false);}},

首页处理,相当于监听安卓返回键(或者浏览器后退键)
HTML5 新API
官方网址
history.pushState(state, title, url); 添加一条历史记录(页面不会刷新)
history.replaceState(state, title, url); 替换一条历史记录(页面不会刷新)
事件
popState事件:当历史记录(history对象)发生变化时就会触发,通过 window.addEventListener(‘popstate’) 进行注册。会触发场景:
1.点击浏览器的【前进】【后退】按钮
2.调用 history 对象的 back、forward、go 方法
3.a 标签的锚点
PS:调用 replaceState、pushState 方法不触发popState事件,不会导致浏览器真正的跳转,浏览器甚至不会检测 url 的有效性

methods:{toBack(){//做返回判断           }
},
mounted() {if (window.history && window.history.pushState) {history.pushState(null, null, document.URL);window.addEventListener('popstate', this.toBack, false);//false阻止默认事件}},destroyed:function(){window.removeEventListener('popstate', this.toBack, false);//false阻止默认事件}

vue--图片预览器(vant)+ 安卓返回键处理相关推荐

  1. 基于 vue 编写的vue图片预览组件,支持单图和多图预览,仅传入一个图片地址,即可实现图片预览效果,可自定义背景、按钮颜色等

    hevue-img-preview 简介 完整版下载地址:基于 vue 编写的vue图片预览组件 本组件是一个基于 vue 编写的 vue 图片预览组件,支持 pc 和手机端,支持单图和多图预览,仅传 ...

  2. pc 图片预览放大 端vue_安利一款简单好用的Vue图片预览插件

    在项目中因为要经常用到图片预览效果,自己写的话麻烦死啦(懒) vue-photo-preview 一个基于 photoswipe 的 vue 图片预览插件,支持移动端和PC端,支持各种手势操作,放大缩 ...

  3. VUE图片预览放大缩小插件viewer

    VUE图片预览放大缩小插件viewer 一.安装依赖 npm install v-viewer --save 二.main.js内引用并注册调用 //main.js import Viewer fro ...

  4. Android 图片预览器加载微博长图,大图

    通常图片预览的做法是ViewPager+PhotoView,但是遇到很长的图(比如微博长图),在设置 android:scaleType="centerCrop" 这个属性的前提下 ...

  5. 基于photoswipe实现的vue图片预览组件vue-image-swipe

    安装 npm install vue-image-swipe -S 在main.js中引用 import Vue from 'vue' import VueImageSwipe from 'vue-i ...

  6. vue图片预览插件,支持鼠标缩放:useful-photo-preview

    文章目录 前言 介绍 如何使用 安装 使用 功能 预览 API 前言 我现在在做的vue项目使用的组件库是Ant Design的vue版本,里面有个图片组件,但是用起来不顺心.在bing找了一些,要么 ...

  7. 写一个图片预览器(react-native),温习一下初中数学

    statistics source download download/month npmjs.com npm.taobao.org cnpmjs.org 需求很简单: 可以放大任意一处我想放大的地方 ...

  8. 实现一个vue的图片预览插件

    vue-image-swipe 基于photoswipe实现的vue图片预览组件 安装 1 第一步 npm install vue-image-swipe -D 2 第二步 vue 入口文件引入 im ...

  9. vue 封装图片预览组件

    因项目需要,自己封装了个vue图片预览组件 <template><div class="imgs_previews animated" @mousewheel.p ...

最新文章

  1. 英语语法总结--连词
  2. 5-django——验证码,中间件
  3. Spark读取普通RDD加载为DataFrame
  4. linux swap 交换空间 设置多大合适
  5. [No000013D].Net 项目代码风格参考
  6. 计算机考试演示文稿模板,2018职称计算机考试PowerPoint习题10
  7. linux指令:时间与日期
  8. Memento 备忘录 快照模式 MD
  9. SVN Description : The working copy is locked due to a previous error.
  10. 安装Apache配置虚拟目录
  11. java初级程序员需要掌握哪些,附源代码
  12. Django搭建后台管理系统
  13. Teams会议聊天中无法添加其他人解决方案
  14. linux压缩到最小命令,Linux 压缩打包命令详细教程
  15. 旋转矩阵是正交矩阵与伴随性质的证明
  16. 23种设计模式之策略模式——小鸭子的故事
  17. 电脑开机自动弹出广告如何解决
  18. 算法来为图像找到好的裁剪
  19. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(8)之文章管理
  20. Dynamic Topic Models的Python实现

热门文章

  1. 《mysql入门圣经》_Go圣经-学习笔记之并发循环
  2. 深入理解使用CMake编译 NDK 程序
  3. 我生命中的钱事:赚钱与投资!
  4. 讨教大学|可靠性工程师需要具备哪些能力?
  5. 学java记不住单词怎么办_【英语单词和句子记不住怎么办?我很想学好英语,但是记不住句子和单词.】作业帮...
  6. 计算机软件著作权可否转让,计算机软件著作权能转让吗
  7. 调试与异常--手工注册SEH
  8. Sweet Home 3D for Mac(室内设计软件)
  9. 精准营销:剖析广告点击率预估系统
  10. 远程下载/上传 服务器文件到本地