VUE图片懒加载-vue|VUE图片懒加载-vue lazyload
转载于逍遥云天
一. vue lazyload插件:
插件地址:https://github.com/hilongjw/vue-lazyload
demo:http://hilongjw.github.io/vue-lazyload/
二. 简单使用实例:
【VUE图片懒加载-vue|VUE图片懒加载-vue lazyload】这个插件还是蛮好用的,就是感觉这个插件的开发文档有点太啰嗦了,一股脑把所有的api扩展都罗列出来,源码中并没有可以运行的实例提供。
其实这个插件做简单使用的话是很简单的,看官方文档的话反而被误导了,可以先按下边的实例实现简单引用,后边再根据开发文档做扩展。
1. 安装插件:
npm install vue-lazyload --save-dev
2. main.js引入插件:
import VueLazyLoad from 'vue-lazyload' Vue.use(VueLazyLoad,{
error:'./static/error.png',
loading:'./static/loading.png' })
3. vue文件中将需要懒加载的图片绑定 v-bind:src 修改为 v-lazy
** 三.功能扩展:**
图片懒加载的简单效果已经实现了,然后就可以按这开发文档的api进行扩展了:
key | description | default | options |
---|---|---|---|
preLoad |
proportion of pre-loading height(预加载高度比例) | 1.3 |
Number |
error |
src of the image upon load fail(图片路径错误时加载图片) | 'data-src' |
String |
loading |
src of the image while loading(预加载图片) | 'data-src' |
String |
attempt |
attempts count(尝试加载图片数量) | 3 |
Number |
listenEvents |
(想要监听的vue事件)
默认['scroll']可以省略,
当插件跟页面中的动画或过渡等事件有冲突是,
可以尝试其他选项
|
['scroll'(默认),
'wheel',
'mousewheel',
'resize',
'animationend',
'transitionend',
'touchmove']
| Desired Listen Events |
|
adapter
|dynamically modify the attribute of element
(动态修改元素属性)
|
{ }
| Element Adapter ||
filter
| the image's listener filter(动态修改图片地址路径) | { }
| Image listener filter ||
lazyComponent
| lazyload component | false
| Lazy Component ||
dispatchEvent
| trigger the dom event | false
| Boolean
||
throttleWait
| throttle wait | 200
| Number
||
observer
| use IntersectionObserver | false
| Boolean
||
observerOptions
| IntersectionObserver options | { rootMargin: '0px', threshold: 0.1 } | IntersectionObserver|