vue 使用 vue-lazyload 插件教程

香菊网 发表于: 2019-07-09 分类: H5部分  前端front  软件soft  

当网络请求资源比较慢的时候, 提前给这这个 img标签 添加一个像素比较低的占位图片,不至于堆叠在一块,或显示错乱,可以让用户体验更好一点。

安装 vue-lazyload:

npm

$ npm i vue-lazyload -D

CDN

<script src="https://unpkg.com/vue-lazyload/vue-lazyload.js"></script>
<script>
  Vue.use(VueLazyload)
  ...
</script>

使用 vue-lazyload

main.js 入口文件

import Vue from 'vue'
import App from './App.vue'
import VueLazyload from 'vue-lazyload'
 
Vue.use(VueLazyload)
 
// or with options
Vue.use(VueLazyload, {
  preLoad: 1.3,
  error: 'dist/error.png',
  loading: 'dist/loading.gif',
  attempt: 2
})
 
new Vue({
  el: 'body',
  components: {
    App
  }
})

template:

<!-- 把img 的 src 改成 v-lazy -->
<ul>
  <li v-for="img in list">
    <img v-lazy="img.src" >
    <!-- background -->
    <div v-lazy:background-image="imgUrl"></div>
  </li>
</ul>

参数详解

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

 

标签: H5部分前端front软件soft
Copyright © 2019 幻雨焉缘博客 | 浙ICP备19001843号-1
----------------------------------
种一棵树,最好的培养时间是十年前,其次是现在 加油  (ง •_•)ง。        ──── 前端攻城狮