浅谈vue中使用图片懒加载vue-lazyload插件详细指南


Posted in Javascript onOctober 23, 2017

在vue中使用图片懒加载详细指南分享给大家。具体如下:

说明

当网络请求比较慢的时候,提前给这张图片添加一个像素比较低的占位图片,不至于堆叠在一块,或显示大片空白,让用户体验更好一点。

使用方式

使用vue的 vue-lazyload 插件

插件地址:https://www.npmjs.com/package/vue-lazyload

案例

demo: 懒加载案例demo

Installation 安装方式

npm

$ npm i vue-lazyload -D

CDN

CDN: https://unpkg.com/vue-lazyload/vue-lazyload.js

<script src="https://unpkg.com/vue-lazyload/vue-lazyload.js"></script>
<script>
 Vue.use(VueLazyload)
 ...
</script>

用法

main.js 在入口文件

import Vue from 'vue'
import App from './App.vue'
import VueLazyload from 'vue-lazyload' //引入这个懒加载插件

Vue.use(VueLazyload)

// 或者添加VueLazyload 选项
Vue.use(VueLazyload, {
 preLoad: 1.3,
 error: 'dist/error.png',
 loading: 'dist/loading.gif',
 attempt: 1
})

new Vue({
 el: 'body',
 components: {
  App
 }
})

在入口文件添加后,在组件任何地方都可以直接使用把 img 里的:src -> v-lazy

<div class="pic">
  <a href="#" rel="external nofollow" rel="external nofollow" ><img :src="'/static/img/' + item.productImage" alt=""></a>
</div>

把之前项目中img 标签里面的 :src 属性 改成 v-lazy 

<div class="pic">
  <a href="#" rel="external nofollow" rel="external nofollow" ><img v-lazy="'/static/img/' + item.productImage" alt=""></a>
</div>

参数选项说明

key description default options
preLoad proportion of pre-loading height 1.3 Number
error 当加载图片失败的时候 'data-src' String
loading 当加载图片成功的时候 'data-src' String
attempt 尝试计数 3 Number
listenEvents 想要监听的事件 ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'] Desired Listen Events
adapter 动态修改元素属性 { } Element Adapter
filter 图片监听或过滤器 { } Image listener filter
lazyComponent lazyload component false Lazy Component
dispatchEvent 触发dom事件 false Boolean
throttleWait throttle wait 200 Number
observer use IntersectionObserver false Boolean
observerOptions IntersectionObserver options { rootMargin: '0px', threshold: 0.1 } IntersectionObserver

想要监听的事件

您可以通过传递数组来配置想要使用vue - lazyload的事件

监听器的名字。

Vue.use(VueLazyload, {
 preLoad: 1.3,
 error: 'dist/error.png',
 loading: 'dist/loading.gif',
 attempt: 1,
 // the default is ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend']
 listenEvents: [ 'scroll' ]
})

如果您遇到这个插件重新设置加载的麻烦,这是很有用的

当你有某些动画和过渡的时候。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript Event学习第九章 鼠标事件
Feb 08 Javascript
改写一个简单的菜单 弹性大小
Dec 02 Javascript
jquery 选择器引擎sizzle浅析
Feb 06 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
Jun 24 Javascript
location.href用法总结(最主要的)
Dec 27 Javascript
javascript实现动态统计图开发实例
Nov 21 Javascript
纯JS代码实现隔行变色鼠标移入高亮
Nov 23 Javascript
基于Bootstrap表单验证功能
Nov 17 Javascript
详解React开发必不可少的eslint配置
Feb 05 Javascript
详解Vue中使用Echarts的两种方式
Jul 03 Javascript
angularjs请求数据的方法示例
Aug 06 Javascript
Vue获取页面元素的相对位置的方法示例
Feb 05 Javascript
angularjs实现猜大小功能
Oct 23 #Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
Oct 23 #Javascript
angularjs实现天气预报功能
Jun 16 #Javascript
angular.js实现购物车功能
Oct 23 #Javascript
使用store来优化React组件的方法
Oct 23 #Javascript
node文件批量重命名的方法示例
Oct 23 #Javascript
详解vue 实例方法和数据
Oct 23 #Javascript
You might like
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
探讨php中header的用法详解
2013/06/07 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
php判断目录存在的简单方法
2019/09/26 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
Dom与浏览器兼容性说明
2010/10/25 Javascript
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
python学习基础之循环import及import过程
2018/04/22 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
台湾最大网路书店:博客来
2018/03/18 全球购物
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
EJB的基本架构
2016/09/22 面试题
初婚未育证明
2014/01/15 职场文书
财务总经理岗位职责
2014/02/16 职场文书
民族学专业大学生职业规划范文:清晰未来的构想
2014/09/20 职场文书
房产公证书格式
2015/01/26 职场文书
升学宴祝酒词
2015/08/11 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
Redis命令处理过程源码解析
2022/02/12 Redis
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL