程咬金3斧头
程咬金3斧头
  • 发布:2019-04-03 17:31
  • 更新:2020-05-15 14:52
  • 阅读:15073

uni-app ,H5实现lazyload

分类:uni-app

背景:

uni-app image组件的lazyload 不支持H5端。 这个对于有图片的长列表来说,体验很差。特别是有更多数据加载时,由于浏览器同一域名并发请求有限制,会阻塞后面的请求。因此作者使用vue-lazyload暂时解决下浏览器端的图片懒加载问题。

步骤:

安装vue-lazyload组件 。

  1. 地址:https://www.npmjs.com/package/vue-lazyload
  2. gihub : https://github.com/hilongjw/vue-lazyload
  3. 使用npm安装 ,`npm -i vue-lazyload -S

引入组件

在main.js中引入,代码如下

import VueLazyload from 'vue-lazyload'  
Vue.use(VueLazyload)

用法

图片方式

<block v-for="(item,index) in list" :key="index">  
<!-- #ifdef APP-PLUS -->  
<image  :lazy-load="true" :src="item.img"></image>  
<!-- #endif -->  
<!-- #ifdef H5 -->  
<img  v-lazy="item.img">  
<!-- #endif -->  
</block>  

背景图方式

<block v-for="(item,index) in list" :key="index">  
<!-- #ifdef APP-PLUS -->  
<image  :lazy-load="true" :src="item.img"></image>  
<!-- #endif -->  
<!-- #ifdef H5 -->  
<view  v-lazy:background-image="{loading:'/static/loading.png',error:'/static/error.png',src:item.img}"></view>  
<!-- #endif -->  
</block>  

自定义样式

img[lazy=loading] {  
    /*加载中*/  
}  
img[lazy=error] {  
    /*加载失败*/  
}  
img[lazy=loaded] {  
    /*加载完成*/  
}

更多用法请参考文档

4 关注 分享
望 n***@qq.com 2***@qq.com 1***@qq.com

要回复文章请先登录注册

d***@qq.com

d***@qq.com

兼容全端可以这样写
```
Vue.use(VueLazyload, {
lazyComponent: true
});
然后模块中是
<lazy-component >
<image
:src="v.picurl"
mode="widthFix"
class=" radius-10 animation-fade "
></image>
</lazy-component>
```
2020-05-15 14:52
程咬金3斧头

程咬金3斧头 (作者)

回复 UchihaSasuke :
看仔细哦,H5下是`img`标签,而不是`image`
2019-11-28 13:42
UchihaSasuke

UchihaSasuke

回复 UchihaSasuke :
因为uniapp封装了img组件的原因, 所以使用image加载不出来是正常的,我改成背景图加载就好了,我很奇怪楼主是怎么使用img加载的,希望能指点一下
2019-11-28 10:53
UchihaSasuke

UchihaSasuke

回复 UchihaSasuke :
不对, 期望路径放到img.src下,实际被放到了uni-image.src下,
2019-11-28 10:47
UchihaSasuke

UchihaSasuke

回复 程咬金3斧头 :
同样的问题, 图片显示不出来, 看控制台 src属性是正常的图片路径,很奇怪
```html
<image mode="aspectFill" v-lazy="item.url"></image>


```
注:img是 用于swiper中的
2019-11-28 10:35
cassieHuang

cassieHuang

大家有没有遇到这种情况,打包之后的h5,访问后台服务器的时候路径会多几层
2019-08-29 18:22
程咬金3斧头

程咬金3斧头 (作者)

回复 2***@qq.com :
文章开头说了,这是在h5用的,APP默认就支持懒加载参数
2019-08-27 16:13
2***@qq.com

2***@qq.com

app 没效果啊 ~ 大佬
2019-08-27 15:00
f***@qq.com

f***@qq.com

这个支持小程序吗?
2019-08-08 11:53
1***@qq.com

1***@qq.com

app也用不了官方的懒加载,没有效果的
2019-07-30 00:46