浅谈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 24 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
Apr 16 Javascript
jquery实现按Enter键触发事件示例
Sep 10 Javascript
javascript dom追加内容实现示例
Sep 21 Javascript
jquery中实现时间戳与日期相互转换
Apr 12 Javascript
关于Vue.js一些问题和思考学习笔记(2)
Dec 02 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
Aug 14 Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
Nov 08 Javascript
微信小程序实现的自定义分享功能示例
Feb 12 Javascript
小程序实现悬浮搜索框
Jul 12 Javascript
Vue实现剪切板图片压缩功能
Feb 04 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
Apr 16 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
用mysql内存表来代替php session的类
2009/02/01 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
javascript实现日期按月份加减
2015/05/15 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
2016/04/06 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
微信小程序日历效果
2018/12/29 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
python基础教程之五种数据类型详解
2017/01/12 Python
Python使用剪切板的方法
2017/06/06 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
python梯度下降算法的实现
2020/02/24 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
销售实习自我鉴定
2013/12/07 职场文书
文字自荐书范文
2014/02/10 职场文书
大学军训感想
2014/02/12 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
出生证明公证书
2014/04/09 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
win sever 2022如何占用操作主机角色
2022/06/25 Servers