700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > vue图片懒加载vue-lazyload的使用

vue图片懒加载vue-lazyload的使用

时间:2023-06-24 05:00:12

相关推荐

vue图片懒加载vue-lazyload的使用

文章目录

介绍图片懒加载什么是懒加载?为什么要懒加载?懒加载的实现原理? 使用vue-lazyload完成图片懒加载通过npm安装使用想要监听的事件

介绍图片懒加载

什么是懒加载?

懒加载突出一个“懒”字,懒就是拖延迟的意思,所以“懒加载”说白了就是延迟加载,比如我们加载一个页面,这个页面很长很长,长到我们的浏览器可视区域装不下,那么懒加载就是优先加载可视区域的内容,其他部分等进入了可视区域在加载。

为什么要懒加载?

懒加载是一种网页性能优化的方式,它能极大的提升用户体验。就比如说图片,图片一直是影响网页性能的主要元凶,现在一张图片超过几兆已经是很经常的事了。如果每次进入页面就请求所有的图片资源,那么可能等图片加载出来用户也早就走了。所以,我们需要懒加载,进入页面的时候,只请求可视区域的图片资源。

总结出来就两个点:

1.全部加载的话会影响用户体验

2.浪费用户的流量,有些用户并不像全部看完,全部加载会耗费大量流量。

懒加载的实现原理?

由于网页中占用资源较多的一般是图片,所以我们一般实施懒加载都是对图片资源而言的,所以这里的实现原理主要是针对图片。

大家都知道,一张图片就是一个<img>标签,而图片的来源主要是src属性。浏览器是否发起亲求就是根据是否有src属性决定的。

既然这样,那么我们就要对<img>标签的src属性下手了,在没进入可视区域的时候,我们先不给这个<img>标签赋src属性,这样岂不是浏览器就不会发送请求了。

使用vue-lazyload完成图片懒加载

介绍了图片懒加载,我们就要介绍在vue中使用vue-lazyload完成图片的懒加载。首先,我们参考github上vue-lazylaod的资料。然后在项目中使用图片的vue-lazyload。

通过npm安装

npm i vue-lazyload -S

使用

main.js文件:

import Vue from 'vue'import App from './App.vue'import VueLazyload from 'vue-lazyload'Vue.use(VueLazyload)// or with optionsconst loadimage = require('./assets/loading.gif')const errorimage = require('./assets/error.gif')Vue.use(VueLazyload, {preLoad: 1.3,error: errorimage,loading: loadimage,attempt: 1})new Vue({el: 'body',components: {App}})

在入口文件添加后,在组件任何地方都可以直接使用把 img 里的:src -> v-lazy

<div class="pic"><a href="#"><img :src="'/static/img/' + item.productImage" alt=""></a></div>把之前项目中img 标签里面的 :src 属性 改成 v-lazy <div class="pic"><a href="#"><img v-lazy="'/static/img/' + item.productImage" alt=""></a></div>

参数选项:

想要监听的事件

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' ]})

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。