浅谈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 相关文章推荐
jQuery学习5 jQuery事件模型
Feb 07 Javascript
JavaScript实用技巧(一)
Aug 16 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
May 05 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
Jul 21 Javascript
JavaScript 事件入门知识
Apr 13 Javascript
使用RequireJS优化JavaScript引用代码的方法
Jul 01 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
Nov 04 Javascript
BootStrapTable 单选及取值的实现方法
Jan 10 Javascript
vuex直接赋值的三种方法总结
Sep 16 Javascript
vue+element表格导出为Excel文件
Sep 26 Javascript
JavaScript中的this原理及6种常见使用场景详解
Feb 14 Javascript
JS实现电脑虚拟键盘打字测试
Jun 24 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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
动态生成gif格式的图像要注意?
2006/10/09 PHP
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
javascript常用功能汇总
2015/07/05 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
Jquery异步上传文件代码实例
2019/11/13 jQuery
python开启多个子进程并行运行的方法
2015/04/18 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
python实现一个猜拳游戏
2020/04/05 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
Vision Directa智利眼镜网:框架眼镜、隐形眼镜和名牌太阳眼镜
2016/11/23 全球购物
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
银行毕业实习自我鉴定
2013/09/19 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
家具促销活动方案
2014/02/16 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
《果园机器人》教学反思
2014/04/13 职场文书
小摄影师教学反思
2014/04/27 职场文书
学校宣传标语
2014/06/18 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python