浅谈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 相关文章推荐
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 Javascript
JQuery 网站换肤功能实现代码
Nov 02 Javascript
javascript 强制刷新页面的实现代码
Dec 13 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
Nov 25 Javascript
JQuery循环滚动图片代码
Dec 08 Javascript
jQuery实现拖拽效果插件的方法
Mar 23 Javascript
jquery ui resize 中border-box的bug修正
Apr 26 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
Jan 19 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
Jul 06 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
Apr 17 Javascript
vue脚手架搭建过程图解
Jun 06 Javascript
解决Antd Table组件表头不对齐的问题
Oct 27 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制作静态网站的模板框架(二)
2006/10/09 PHP
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
javascript 计算两个整数的百分比值
2009/12/26 Javascript
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
原生JavaScript实现滚动条效果
2020/03/24 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
Python3中的f-Strings增强版字符串格式化方法
2020/03/04 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
实例代码讲解Python 线程池
2020/08/24 Python
python一些性能分析的技巧
2020/08/30 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
《小儿垂钓》教学反思
2014/02/23 职场文书
听课评语大全
2014/04/30 职场文书
Golang Web 框架Iris安装部署
2022/08/14 Python