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>
相关推荐
onebound_noah4 小时前
电商图片搜索:技术破局与商业落地,重构“视觉到交易”全链路
大数据·前端·网络·人工智能·重构·php
答案answer4 小时前
一个超级真实的Three.js树🌲生成器插件
前端·three.js
朴shu4 小时前
揭秘高性能协同白板:轻松实现多人实时协作(一)
前端·设计模式·架构
wyjcxyyy4 小时前
polar靶场-MISC,WEB(中等)
前端·chrome
2301_816073834 小时前
SELinux 学习笔记
linux·运维·前端
秋天的一阵风4 小时前
😱一行代码引发的血案:展开运算符(...)竟让图表功能直接崩了!
前端·javascript·vue.js
Hilaku5 小时前
npm scripts的高级玩法:pre、post和--,你真的会用吗?
前端·javascript·vue.js
申阳5 小时前
Day 12:09. 基于Nuxt开发博客项目-使用NuxtContent构建博客模块
前端·后端·程序员
合作小小程序员小小店5 小时前
web网页开发,在线短视频管理系统,基于Idea,html,css,jQuery,java,springboot,mysql。
java·前端·spring boot·mysql·vue·intellij-idea
n***29325 小时前
前端动画性能优化,减少重绘重排
前端·性能优化