在vue中使用图片懒加载vue-lazyload插件

在vue中使用图片懒加载vue-lazyload插件

使用方式

使用vue的 vue-lazyload 插件
插件地址:

https://www.npmjs.com/package/vue-lazyload

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, {    loading:"/static/loading-svg/loading-bars.svg" }) 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>

参数选项说明

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,  loading:"/static/loading-svg/loading-bars.svg"  attempt: 1,  // the default is ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend']  listenEvents: [ 'scroll' ]})
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容