解决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>

实现效果如下:

相关推荐
这是个栗子16 分钟前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说24 分钟前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js
方也_arkling1 小时前
elementPlus按需导入配置
前端·javascript·vue.js
爱吃大芒果1 小时前
Flutter for OpenHarmony 实战: mango_shop 资源文件管理与鸿蒙适配
javascript·flutter·harmonyos
David凉宸1 小时前
vue2与vue3的差异在哪里?
前端·javascript·vue.js
Irene19911 小时前
JavaScript字符串转数字方法总结
javascript·隐式转换
css趣多多2 小时前
this.$watch
前端·javascript·vue.js
Code小翊2 小时前
JS语法速查手册,一遍过JS
javascript
子春一2 小时前
Flutter for OpenHarmony:构建一个 Flutter 天气卡片组件,深入解析动态 UI、响应式布局与语义化设计
javascript·flutter·ui
有来技术3 小时前
ASP.NET Core 权限管理系统(RBAC)设计与实现|vue3-element-admin .NET 后端
vue.js·后端·c#·asp.net·.net