解决Element-plus中Carousel(走马灯)图片无法正常加载的bug

前言:

最近帮助朋友解决了一个使用Element-plus中Carousel(走马灯)图片无法正常加载的bug,经过笔者的不断努力终于实现了,现在跟大家分享一下:

朋友原来的代码是这样的:

javascript 复制代码
<template>
  <div class="wai-banner">
    <div class="banner">
      <el-carousel :interval="4000" type="card" height="1500px">
        <el-carousel-item v-for="(item, index) in items" :key="index">
          <img :src="item" style="width: 500px; height: 1000px;">
        </el-carousel-item>
      </el-carousel>
    </div>
  </div>
</template>
<script setup>
import { ref } from 'vue'
const items = ref([
  '../assets/vue.svg',
  '../assets/child.png',
  '../assets/draw.png'
])
</script>
<style scoped></style>

运行之后,兴致勃勃去看效果,结果傻眼了,因为他发现效果是这样的:

后来笔者查阅了大量的资料,发现是路径无法正确解析,在Vue中直接使用相对路径访问图片不利于模块

**解决方案:**使用import导入图片

修改之后的代码展示:

javascript 复制代码
<template>
  <div class="wai-banner">
    <div class="banner">
      <el-carousel :interval="4000" type="card" height="1500px">
        <el-carousel-item v-for="(item, index) in items" :key="index">
          <img :src="item.url" style="width: 500px; height: 1000px;">
        </el-carousel-item>
      </el-carousel>
    </div>
  </div>
</template>
<script setup>
import { ref } from 'vue'
import image1 from '../assets/vue.svg'
import image2 from '../assets/child.png'
import image3 from '../assets/draw.png'
const items = ref([
  {
    url: image1
  },
  {
    url: image2
  },
  {
    url: image3
  }
])
</script>

实现效果如下:

相关推荐
Moon_su6 分钟前
vue中路由回退数据缓存的最佳实践
vue.js
小白探索世界欧耶!~14 分钟前
【踩坑】GitHub Actions 运行的 Linux 环境中,文件名是大小写敏感的
linux·运维·服务器·前端·vue.js·笔记·github
Simon—欧阳18 分钟前
C#异步方法返回Task<T>的同步调用
开发语言·前端·javascript
逆袭的小黄鸭29 分钟前
JavaScript DOM 事件流:从基础传播到高级控制与自定义实践
前端·javascript
Code额1 小时前
ECMAScript 7~10 新特性
开发语言·javascript·ecmascript
爱上大树的小猪1 小时前
【前端基础】深入理解 JavaScript 展开运算符:数组合并与对象浅拷贝实战指南
前端·javascript·vue.js
你的人类朋友1 小时前
关于express中间件的工作原理
javascript·node.js·express
Mintopia1 小时前
Three.js 进阶:复杂模型与动画处理技巧
前端·javascript·three.js
叫我铁汁儿吧1 小时前
HTML中最熟悉的陌生人:<script>标签必知必会
前端·javascript
Mintopia1 小时前
深入理解 Node.js 中的 fs/promises 模块
前端·javascript·node.js