uniapp 图片加载失败404-替换成默认图片
uniapp 图片加载失败404-替换成默认图片
图片有一个事件
onerror
:图像加载过程中发生错误时被触发。onabort
:图片加载的时候,用户通过点击停止加载时触发,通常在这里触发一个提示:“图片正在加载”。onload
:当图片加载完成之后触发。
关于onerror的触发条件
src
属性为空或者null
src
的地址与当前页面的地址一致- 在加载过程中因为某些原因崩溃
- 图片的元数据已损坏,无法知道尺寸,并且
<img>
标签也没定义尺寸 - 当前的
user agent
不支持该图片格式
关于不能动态更新视图 - this.$set
- 向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。
this.$set( target, key, value)
- target:要更改的数据源(可以是对象或者数组)
- key:要更改的具体数据
- value :重新赋的值
问题 - 后端传过来一个数组,然后里面又图片地址,当图片地址为404或其他无法加载的情况下,显示默认图片
- 先再
data
里初始化数组接受值并且再接口返回值接受数组
data() {
return {
srcBox: []
}
}
- 先根据
error
方法获取加载失败图片的索引
<image v-for="(item, index) in srcBox" :src="item" @error="error(index)"></image>
- 利用索引将数组的无法加载图片替换成默认图片
error(index) {
console.log(this.srcBox);
console.log(index)
this.$set(this.srcBox, index, this.src);
}
结语
- 但是如果数组过于庞大,无法加载图片过多的话,控制台打印错误信息太多会导致日志崩溃,暂时没有解决的方法。
本文来自博客园,作者:懒惰ing,转载请注明原文链接:https://www.cnblogs.com/landuo629/p/13523875.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?