img标签 :src 动态绑定图片地址,但是加载图片不成功

Vue CLI

在使用 Vue CLI 构建的应用程序中,Vue CLI 默认使用 Webpack 作为构建工具,Webpack 支持 require 语法来引入静态资源(如图片)。【Vue】】img使用 :src 动态绑定图片地址,但是加载图片不成功_vue动态绑定src图片出不来-CSDN博客

Vite

然而,Vite 使用了不同的构建策略,并且默认情况下不支持 require 语法来导入静态资源。

1.使用 Vite 的 import() 语法来动态导入静态资源。

这需要在组件中异步加载每个图片,并将路径存储在一个响应式变量中。

javascript 复制代码
<template>
  <div>
    <u-image v-for="(item, index) in showSampleImage" :key="index" :src="item.src" :width="item.width" :height="item.height" />
  </div>
</template>

<script setup>
import { ref, onMounted } from 'vue';

const showSampleImage = ref([
  {
    width: "311",
    height: "148",
    src: ""
  },
  {
    width: "311",
    height: "148",
    src: ""
  }
]);

onMounted(async () => {
  showSampleImage.value[0].src = (await import('../sampleImage/1.jpg')).default;
  showSampleImage.value[1].src = (await import('../sampleImage/2.jpg')).default;
});
</script>

2使用 import.meta.glob 批量导入

javascript 复制代码
<template>
  <div>
    <u-image v-for="(item, index) in showSampleImage" :key="index" :src="item.src" :width="item.width" :height="item.height" />
  </div>
</template>

<script setup>
import { ref, onMounted } from 'vue';
import images from '../sampleImage/*.jpg';

const showSampleImage = ref([
  {
    width: "311",
    height: "148",
    src: ""
  },
  {
    width: "311",
    height: "148",
    src: ""
  }
]);

onMounted(() => {
  Object.keys(images).forEach((path, index) => {
    images[path]().then(module => {
      showSampleImage.value[index].src = module.default;
    });
  });
});
</script>
相关推荐
这个昵称也不能用吗?7 分钟前
【安卓 - 小组件 - app进程与桌面进程】
前端
kuilaurence10 分钟前
CSS `border-image` 给文字加可拉伸边框
前端·css
一 乐14 分钟前
校园墙|校园社区|基于Java+vue的校园墙小程序系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·小程序
一只小阿乐18 分钟前
前端react 开发 图书列表分页
前端·react.js·react·ant-
鎏金铁匠19 分钟前
跟着ECMAScript 规范,手写数组方法之map
javascript
IT古董23 分钟前
在 React 项目中使用 Ky 与 TanStack Query 构建现代化数据请求层
前端·react.js·前端框架
夏日不想说话32 分钟前
一文搞懂 AI 流式响应
前端·node.js·openai
顾安r1 小时前
11.14 脚本网页 青蛙过河
服务器·前端·python·游戏·html
阿奇__1 小时前
el-table有固定列时样式bug
vue.js·elementui·bug
LXA08092 小时前
在Vue 3项目中配置和使用SCSS
vue.js·rust·scss