当前位置: 首页 > news >正文

【Vue3】图片未加载成功前占位

背景

在写项目时,加载图片未成功前,会出现空白页面,太影响美观和体验感
在这里插入图片描述

解决方案

1. element ui通过slot占位符解决

在这里插入图片描述

2. 自定义指令

原生img标签可以通过自定义指令解决,img标签有onload和onerror事件,都是在渲染成功后才出发,想占位要在渲染前触发

<template><imgclass="image_item-img"v-preload="'loading'" src="https://xx"alt="加载失败"/>
</template>
<script setup>
import { reactive } from 'vue'// 自定义图片占位
const vPreload = {//未渲染img标签前beforeMount(el, binding) {el.style.backgroundColor = '#ececec'el.classList.add(binding.value) //binding.value是上面传过来'loading',我自定义的类名(可自己定义loading样式)},mounted(el, binding) {el.addEventListener('error', () => {el.classList.remove(binding.value)})},
}
</script>

在这里插入图片描述

3.用图片代替

 <imgclass="image_item-img"v-for="(item, index) in imageList":key="item.id":src="item.url ? require('/src/assets/logo.png') : item.url"alt="加载失败"@click="handlePreview(index)"/>
http://www.lryc.cn/news/418062.html

相关文章:

  • AbstractQueuedSynchronizer之AQS
  • <数据集>起重机识别数据集<目标检测>
  • 04--Docker
  • MiniCPM-V: A GPT-4V Level MLLM on Your Phone 手机上的 GPT-4V 级多模态大模型
  • Unity初识
  • 【游戏引擎之路】登神长阶(九)——《3D游戏编程大师技巧》:我想成为游戏之神!
  • Linux:线程同步之信号量
  • GPT-SoVITS-文本转语音(你的声音不再是唯一)
  • C语言深度剖析(部分)--剩下随缘更新
  • 计算机毕业设计选题推荐-电缆行业生产管理系统-Java/Python项目实战
  • Linux 下查看 CPU 使用率
  • 数理基础知识
  • Java解决lombok和mapstruct编译模块的问题
  • 大模型场景应用全集:持续更新中
  • 理解RabbitMQ中的消息存储机制:非持久化、持久化与惰性队列(Lazy Queue)
  • 【机器学习】BP神经网络正向计算
  • 谷粒商城实战笔记-108~109-elasticsearch删除与批量导入
  • RabbitMQ:发送者的可靠性之使用消息确认回调
  • HCIP学习 | OSPF---LSA限制、不规则区域、附录E、选路
  • CVE-2017-15715~Apache解析漏洞【春秋云境靶场渗透】
  • thinkphp 5.0.24生成模块
  • 值得注意!家里有带毛发动物就有浮毛?宠物空气净化器一键净化
  • Linux 代理(proxy)设置
  • 操作系统真相还原:获取文件属性
  • 聚鼎装饰画:投资一家装饰画店铺要花费多少钱
  • 编程的魅力、其重要性、学习方法以及未来趋势
  • ubuntu init set
  • MySQL数据分析进阶(八)存储过程
  • 最深的根,
  • 【常见的设计模式】工厂模式