美文网首页
VUE图片懒加载-vue lazyload

VUE图片懒加载-vue lazyload

作者: 喵呜Yuri | 来源:发表于2018-12-29 14:48 被阅读38次

转载于逍遥云天

一. vue lazyload插件:

插件地址:https://github.com/hilongjw/vue-lazyload

demo:http://hilongjw.github.io/vue-lazyload/

二. 简单使用实例:

这个插件还是蛮好用的,就是感觉这个插件的开发文档有点太啰嗦了,一股脑把所有的api扩展都罗列出来,源码中并没有可以运行的实例提供。

其实这个插件做简单使用的话是很简单的,看官方文档的话反而被误导了,可以先按下边的实例实现简单引用,后边再根据开发文档做扩展。

1. 安装插件:

<pre style="margin-top: 0px; margin-bottom: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">npm install vue-lazyload --save-dev</pre>

2. main.js引入插件:

<pre style="margin-top: 0px; margin-bottom: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">import VueLazyLoad from 'vue-lazyload' Vue.use(VueLazyLoad,{
error:'./static/error.png',
loading:'./static/loading.png' })</pre>

3. vue文件中将需要懒加载的图片绑定 v-bind:src 修改为 v-lazy

<pre style="margin-top: 0px; margin-bottom: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"><img class="item-pic" v-lazy="newItem.picUrl"/></pre>

** 三.功能扩展:**

图片懒加载的简单效果已经实现了,然后就可以按这开发文档的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

events that you want vue listen for

(想要监听的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

|

相关文章

网友评论

      本文标题:VUE图片懒加载-vue lazyload

      本文链接:https://www.haomeiwen.com/subject/kfzulqtx.html