浅谈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类型增加方法的实现代码(增加功能)
Dec 29 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
Jun 16 Javascript
jQuery满意度星级评价插件特效代码分享
Aug 19 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
javascript实现倒计时跳转页面
Jan 17 Javascript
Vue2路由动画效果的实现代码
Jul 10 Javascript
基于three.js编写的一个项目类示例代码
Jan 05 Javascript
详解JavaScript的BUG和错误
May 07 Javascript
js实现每日签到功能
Nov 29 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
Oct 09 Javascript
JavaScript中EventBus实现对象之间通信
Oct 18 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
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
中英文字符串翻转函数
2008/12/09 PHP
PHP类的使用 实例代码讲解
2009/12/28 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
onpropertypchange
2006/07/01 Javascript
Javascript调用C#代码
2011/01/17 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
python实现定制交互式命令行的方法
2014/07/03 Python
介绍Python中的文档测试模块
2015/04/28 Python
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
python实现数独算法实例
2015/06/09 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
python版本五子棋的实现代码
2018/12/11 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
python关于调用函数外的变量实例
2019/12/26 Python
python 安装移动复制第三方库操作
2020/07/13 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
法国时尚童装网站:Melijoe
2016/08/10 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
市场营销专业推荐信
2013/11/03 职场文书
生物专业个人自荐信范文
2013/11/29 职场文书
生产班组长岗位职责
2014/01/05 职场文书
20岁生日感言
2014/01/13 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
2014年财政所工作总结
2014/11/22 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS