uni-app 3.4.7 纯nvue image图片加载可能异常的问题

uni-app 3.4.7 纯nvue image图片加载可能异常的问题

操作步骤:

.im-img-emoji {  
  width: 80px;  
  //height: 80px;  
}
<image class="im-img-emoji" webp src="本地图片路径" mode="widthFix"></image>

预期结果:

预期结果能恢复正常

实际结果:

???

bug描述:

更新后出现<image mode="任何">初次加载时图片比例不正确的问题 该问题仅出现在只指定了宽度而未指定高度的image中 并且明显感觉到为什么image加载图片变慢了???

信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Mac
PC版本号 12.3.1
HBuilderX 正式
HBuilderX版本 3.4.7
手机系统 iOS
手机版本号 iOS 15
手机厂商 模拟器
手机机型 13pro
页面类型 nvue
Vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX


更多关于uni-app 3.4.7 纯nvue image图片加载可能异常的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

我也碰到过, VUE没这个问题,NVUE加本地图片会有这个问题。 偶尔性触发,调试包触发尤其厉害,正式打包后触发几率比较低。

更多关于uni-app 3.4.7 纯nvue image图片加载可能异常的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我这边还是今天更新了3.4.7之后才发现的, 之前的版本都没出现这种情况

回复 j***@gmail.com: 我是3.4.6-alpha。那时候是因为只有3.4.6 alpha才开始支持android的box-shadow,所以升级了,但是这个功能也是升级后才增加,旧版本没试过。设置了释放模式,本地小图首次加载没问题,从另外页面返回时候很大概率触发,但是云打包后这个概率又很低,所以我没理了…

我也碰到了

在 uni-app 3.4.7 版本中,使用纯 nvue 页面时,<image> 组件加载图片可能会出现异常。以下是一些可能的原因和解决方法:

1. 图片路径问题

  • 问题描述: 图片路径不正确或无法解析,导致图片无法加载。
  • 解决方法: 确保图片路径正确,尤其是在使用相对路径时。可以尝试使用绝对路径或网络图片进行测试。
<image src="/static/logo.png"></image>

2. 图片格式问题

  • 问题描述: 某些图片格式可能不支持,导致加载失败。
  • 解决方法: 确保图片格式为常见的格式(如 .png, .jpg, .jpeg, .gif 等)。如果需要支持更多格式,可以尝试将图片转换为支持的格式。

3. 图片大小问题

  • 问题描述: 图片文件过大,可能导致加载缓慢或失败。
  • 解决方法: 优化图片大小,压缩图片文件,确保图片在合理的大小范围内。

4. 网络图片加载问题

  • 问题描述: 网络图片加载失败,可能是由于网络问题或图片链接失效。
  • 解决方法: 检查网络连接,确保图片链接有效。可以尝试在浏览器中直接访问图片链接,确认图片是否可以正常加载。

5. nvue 页面特有的问题

  • 问题描述: nvue 页面使用的是原生渲染引擎,可能与 vue 页面的渲染方式有所不同,导致图片加载异常。
  • 解决方法: 确保在 nvue 页面中正确使用 <image> 组件。可以尝试使用 mode 属性来调整图片的显示方式。
<image src="/static/logo.png" mode="aspectFit"></image>

6. 缓存问题

  • 问题描述: 图片缓存可能导致图片无法更新或加载异常。
  • 解决方法: 清除缓存,或者为图片链接添加时间戳参数,强制刷新图片。
<image :src="'/static/logo.png?' + timestamp"></image>
data() {
  return {
    timestamp: new Date().getTime()
  }
}

7. 平台差异

  • 问题描述: 不同平台(如 iOS 和 Android)可能存在差异,导致图片加载异常。
  • 解决方法: 在不同平台上进行测试,确保图片在所有目标平台上都能正常加载。

8. 检查控制台日志

  • 问题描述: 控制台日志中可能会提供有关图片加载失败的详细信息。
  • 解决方法: 打开开发者工具,查看控制台日志,根据错误信息进行排查。

9. 更新 uni-app 版本

  • 问题描述: 当前版本可能存在已知的 bug,导致图片加载异常。
  • 解决方法: 尝试更新到最新版本的 uni-app,查看问题是否得到解决。

10. 使用 webp 格式

  • 问题描述: 某些平台可能对 webp 格式支持不完善。
  • 解决方法: 如果使用了 webp 格式的图片,可以尝试转换为其他格式(如 .png.jpg)。

11. 图片加载事件

  • 问题描述: 图片加载过程中可能触发的事件未正确处理。
  • 解决方法: 使用 [@load](/user/load)[@error](/user/error) 事件来监听图片加载状态,进行相应的处理。
<image src="/static/logo.png" [@load](/user/load)="onImageLoad" [@error](/user/error)="onImageError"></image>
methods: {
  onImageLoad() {
    console.log('图片加载成功');
  },
  onImageError() {
    console.log('图片加载失败');
  }
}
回到顶部