浅谈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 事件查询综合
Jul 13 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
Jan 30 Javascript
JavaScript中的prototype.bind()方法介绍
Apr 04 Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
Mar 02 Javascript
javascript实现获取字符串hash值
May 10 Javascript
vue.js表格分页示例
Oct 18 Javascript
Node.js的特点详解
Feb 03 Javascript
Javascript中click与blur事件的顺序详析
Apr 25 Javascript
详解Vue.use自定义自己的全局组件
Jun 14 Javascript
Ajax请求时无法重定向的问题解决代码详解
Jun 21 Javascript
JavaScript进阶(三)闭包原理与用法详解
May 09 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
JavaScript中“+=”的应用
2007/02/02 Javascript
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
webpack4.x打包过程详解
2018/07/18 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
王纯业的Python学习笔记 下载
2007/02/10 Python
python的id()函数解密过程
2012/12/25 Python
python解析中国天气网的天气数据
2014/03/21 Python
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
Python数据存储之 h5py详解
2019/12/26 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
python 下载文件的几种方法汇总
2021/01/06 Python
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
爱护公共设施的标语
2014/06/24 职场文书
学生上课说话检讨书
2014/10/25 职场文书
行政介绍信范文
2015/05/04 职场文书
法律意见书范本
2015/06/04 职场文书
小程序教您怎样你零成本推广获取数万用户的方法
2019/07/30 职场文书
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP