uniapp页面显示服务器图片,uniapp实现加载图片失败显示占位图

平常在项目中,我们会经常需要有加载网络图片的功能,但是存在图片地址问题、网络问题等导致图片加载失败,需要展示一个占位图,所以我这里总结了三种办法,仅供大家参考,写的不好大家见谅。

一、导入第三方插件,本人没有使用过,所以不知道质量如何,大家有兴趣可以去详细研究下(传送门)

二、监听image标签的@error事件进行占位图的显示,这里我直接贴代码,大家看看逻辑即可明白。

注意:这里有点不好的就是一开始显示的都是空白的,只有图片加载成功或者失败后才会显示正常图片还是占位图

d734b9f4ac85

data里面的一些初始化数据

data() {

return {

placeholderImage:'/static/logo.png',//占位图

dataList: [

{"icon":"https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=335766965,268232045&fm=26&gp=0.jpg","title":"第一个","id":0},

{"icon":"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1255632579,1714788604&fm=26&gp=0.jpg","title":"第二个","id":1},

{"icon":"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1597150330876&di=d0cc080391333c69725d2829a8ea6e76&imgtype=0&src=http%3A%2F%2Fimg.improve-yourmemory.com%2Fpic%2F2bb85a1310c35a39d33987a88c2725c5-2.jpg","title":"第三个","id":2},

{"icon":"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1597150330876&di=2865923abaf09b0b86a37007810718c8&imgtype=0&src=http%3A%2F%2Fimg.pconline.com.cn%2Fimages%2Fupload%2Fupc%2Ftx%2Fwallpaper%2F1305%2F24%2Fc1%2F21266756_1369385228661.jpg","title":"第四个","id":3},

{"icon":"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1597150330875&di=6066b7458f3352b58f9ee5c09fa5c4db&imgtype=0&src=http%3A%2F%2Fztd00.photos.bdimg.com%2Fztd%2Fw%3D700%3Bq%3D50%2Fsign%3De4fb138eefcd7b89e96c38833f1f339a%2F3bf33a87e950352af6a0364c5a43fbf2b3118bb4.jpg","title":"第五个","id":4},

{"icon":"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1597150330874&di=22b9607cd676607019728a104953b8b9&imgtype=0&src=http%3A%2F%2Fn.sinaimg.cn%2Fsinacn10%2F656%2Fw580h876%2F20180722%2F1553-hfqtahi6951449.jpg","title":"第六个","id":5},

{"icon":"https://www.baidu.com/image_0.png","title":"第七个","id":6}//这里最后一张是错误的地址

]

}

}

d734b9f4ac85

样式代码:

d734b9f4ac85

三、使用两个image标签,一个image用来展示占位图、一个用来展示网络图。(这种在数据量比较大的情况下,不推荐使用,这里我只是提供下思路,如果大家有更好的可以分享下)

这种方法和第二种方法就是对换了一下思路,默认显示了全部占位图,等待监听图片加载成功,然后把image占位图标签进行隐藏。

代码如下:

d734b9f4ac85

data的数据和第二种方法的数据一样,不同于methods里面的事件

d734b9f4ac85

样式代码:

d734b9f4ac85

我这里总结的就这二个方法,如果各位大佬有更好的方法记得分享哈。如果写的不好,大家跳过就好😜😜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值