浅谈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的使ListNav兼容中文首字拼音排序的实现代码
Jul 10 Javascript
js判断样式className同时增加class或删除class
Jan 30 Javascript
jquery弹出框的用法示例(2)
Aug 26 Javascript
JQuery 控制内容长度超出规定长度显示省略号
May 23 Javascript
JS获得图片alt信息的方法
Apr 01 Javascript
jQuery插件windowScroll实现单屏滚动特效
Jul 14 Javascript
JavaScript实现翻页功能(附效果图)
Feb 16 Javascript
bootstrap 通过加减按钮实现输入框组功能
Nov 15 Javascript
Vue实现点击时间获取时间段查询功能
Aug 21 Javascript
element-ui表格列金额显示两位小数的方法
Aug 24 Javascript
vue-router命名视图的使用讲解
Jan 19 Javascript
layui.tree组件的使用以及搜索节点功能的实现
Sep 26 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文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
smarty表格换行实例
2014/12/15 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
javascript 数组排序函数
2009/08/20 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
JavaScript中Function详解
2015/02/27 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
详解JavaScript的变量
2019/04/04 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
Python实时获取cmd的输出
2015/12/13 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
python实现列表的排序方法分享
2019/07/01 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
python 下划线的不同用法
2020/10/24 Python
巴西购物网站:Onofre Agora
2020/06/08 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
岗位职责定义及内容
2013/11/08 职场文书
升职自荐信
2013/11/28 职场文书
加拿大留学自荐信
2014/01/28 职场文书
北京青年观后感
2015/06/15 职场文书
小学班级管理心得体会
2016/01/07 职场文书
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL